Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BaseViewHolder cannot be cast to BaseDataBindingHolder #6764

Open
qinhongfei opened this issue Jan 13, 2025 · 0 comments
Open

BaseViewHolder cannot be cast to BaseDataBindingHolder #6764

qinhongfei opened this issue Jan 13, 2025 · 0 comments

Comments

@qinhongfei
Copy link

3.0.14版本进行混淆后打包还是遇到如下问题:

Process: com.tianma.sport, PID: 24318 java.lang.ClassCastException: com.chad.library.adapter.base.viewholder.BaseViewHolder cannot be cast to com.chad.library.adapter.base.viewholder.BaseDataBindingHolder at ql.i.p(SourceFile:1) at l8.d.K(SourceFile:22) at l8.d.L(SourceFile:17) at l8.d.onBindViewHolder(SourceFile:2) at androidx.recyclerview.widget.RecyclerView$Adapter.bindViewHolder(SourceFile:155) at androidx.recyclerview.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(SourceFile:68) at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(SourceFile:567) at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(SourceFile:2) at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(SourceFile:1) at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(SourceFile:12) at androidx.recyclerview.widget.GridLayoutManager.layoutChunk(SourceFile:96) at androidx.recyclerview.widget.LinearLayoutManager.fill(SourceFile:39) at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(SourceFile:358) at androidx.recyclerview.widget.GridLayoutManager.onLayoutChildren(SourceFile:10) at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(SourceFile:67) at androidx.recyclerview.widget.RecyclerView.onMeasure(SourceFile:68) at android.view.View.measure(View.java:25166) at androidx.constraintlayout.widget.ConstraintLayout$c.b(SourceFile:542) at b3.f.Z1(SourceFile:277) at c3.h.b(SourceFile:45)

我的 代码基本都是这样使用:
`class MineCustomAdapter :
BaseQuickAdapter<MineCustomBean, BaseDataBindingHolder>
(R.layout.adapter_mine_index_custom_item) {

override fun convert(
    holder: BaseDataBindingHolder<AdapterMineIndexCustomItemBinding>,
    item: MineCustomBean
) {
    holder.dataBinding?.let {
        with(item) {
            it.adapterMineCustomIv.setImageResource(picResource)
            it.adapterMineCustomTv.text = title
            it.adapterMineCustomHot.isVisible = isShowHot
            it.adapterMineCustomDot.isVisible = isRedDot
            if(isRedDot) {
                if(redDotNum > 0) {
                    it.adapterMineCustomDotNum.isVisible = true
                    it.adapterMineCustomDot.isVisible = false
                    it.adapterMineCustomDotNum.setText(redDotNum.toString())
                } else {
                    it.adapterMineCustomDotNum.isVisible = false
                    it.adapterMineCustomDot.isVisible = true
                }
            } else {
                it.adapterMineCustomDotNum.isVisible = false
                it.adapterMineCustomDot.isVisible = false
            }

// val columnNum = itemCount.coerceAtMost(5)
// //计算屏幕宽度,除以5,就是每个item的宽度
// val layoutParams = ViewGroup.LayoutParams(
// (context.screenWidth - 20.dp) / columnNum,
// ViewGroup.LayoutParams.WRAP_CONTENT
// )
// holder.itemView.layoutParams = layoutParams
}
}
}
}`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant