lmw
2025-04-24 718f31c92e2029d05260810435a2c70cef6e6ce5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package com.sinata.xqmuse.ui.discovery.adapter
 
import android.widget.TextView
import cn.sinata.xldutils.activity.BaseActivity
import cn.sinata.xldutils.adapter.HFRecyclerAdapter
import cn.sinata.xldutils.adapter.util.ViewHolder
import cn.sinata.xldutils.gone
import cn.sinata.xldutils.utils.SpanBuilder
import cn.sinata.xldutils.utils.showAllowingStateLoss
import cn.sinata.xldutils.visible
import com.facebook.drawee.view.SimpleDraweeView
import com.sinata.xqmuse.R
import com.sinata.xqmuse.dialog.CommentLongClickDialog
import com.sinata.xqmuse.dialog.ReportDialog
import com.sinata.xqmuse.dialog.SuccessDialog
import com.sinata.xqmuse.network.HttpManager
import com.sinata.xqmuse.network.entity.Comment
import com.sinata.xqmuse.network.request
import com.sinata.xqmuse.utils.extention.clickDelay
import com.sinata.xqmuse.utils.interfaces.StringCallback
import java.util.ArrayList
 
class CommentAdapter(comment: ArrayList<Comment>,val act:BaseActivity):HFRecyclerAdapter<Comment>(comment, R.layout.item_comment) {
    var callback:StringCallback? = null
    override fun onBind(holder: ViewHolder, position: Int, data: Comment) {
        holder.bind<SimpleDraweeView>(R.id.iv_avatar).setImageURI(data.avatar)
        holder.setText(R.id.tv_name,data.nickname)
        holder.setText(R.id.tv_content,data.content)
        holder.setText(R.id.tv_time,data.publishTime)
        val tv_reply = holder.bind<TextView>(R.id.tv_reply)
        if (data.replyContent.isNullOrEmpty())
            tv_reply.gone()
        else{
            tv_reply.visible()
            tv_reply.text = SpanBuilder("平台回复:${data.replyContent}").bold(0,5).build()
        }
 
        val tv_like = holder.bind<TextView>(R.id.tv_like)
        tv_like.setCompoundDrawablesRelativeWithIntrinsicBounds(0,0,if (data.like == 1) R.mipmap.dianzaned else R.mipmap.dianzan,0) //todo是否点赞
        tv_like.clickDelay {
                HttpManager.doLike(data.id).request(act){_,_->
                    data.like = if (data.like == 1) 2 else 1
                    notifyItemChanged(position)
                }
        }
 
        holder.itemView.setOnLongClickListener {
            callback?.onResult(position.toString())
            return@setOnLongClickListener false
        }
    }
}