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
|
}
|
}
|
}
|