-
Notifications
You must be signed in to change notification settings - Fork 19
老哥,readme该更新了 #1
Copy link
Copy link
Open
Description

我看鸡你太美还用的最开始的1.0.0版本,可能没看到你发布的版本,直接复制readme的,我用他自定义的子类一堆方法报错,后来用你的玩安卓自定义的CollectView就好了

还有感觉revealLayout.setOnCheckedChangeListener监听的回调方法好像没啥用,还是你定义的点击回调接口更有用,毕竟一般都是在RecyclerView中使用,一般会有默认选中的项目,还有点击后选中的逻辑判断,我把你的自定义子类改成用科特林实现的了,一些简单的逻辑判断也写在里面了
class CollectView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) :
RevealLayout(context, attrs, defStyleAttr) {
private lateinit var mOnClickListener: OnClickListener
override fun initAttr(attrs: AttributeSet) {
super.initAttr(attrs)
setCheckWithExpand(true)
setUncheckWithExpand(false)
setAnimDuration(400)
setAllowRevert(false)
}
override fun getCheckedLayoutId() = R.layout.view_reveal_like_checked
override fun getUncheckedLayoutId() = R.layout.view_reveal_like_unchecked
fun setOnClickListener(onClickListener: OnClickListener) {
mOnClickListener = onClickListener
setOnClickListener {
if (AppConfig.UserName.isNotEmpty()) {
//登陆过直接走点击事件回调
mOnClickListener.onClick(this@CollectView)
context.vibration() //震动一下
} else {
//否则弹吐司并且不给选中
ToastUtils.show(R.string.please_login)
isChecked = false
}
}
}
interface OnClickListener {
fun onClick(v: CollectView)
}
}在adapter的onItemViewHolderCreated中使用
override fun onItemViewHolderCreated(viewHolder: BaseViewHolder, viewType: Int) {
super.onItemViewHolderCreated(viewHolder, viewType)
viewHolder.getView<CollectView>(R.id.item_article_collect).setOnClickListener(object : CollectView.OnClickListener {
//收藏控件点击事件回调
override fun onClick(v: CollectView) {
if (v.isChecked) {
......
}
} else {
......
}
}
}
})
}Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels