小编Ale*_*Zwh的帖子

子RecyclerView项拦截父RecyclerView项的点击事件

父项单击

子项目点击

我有一个父 RecyclerView,里面有嵌套的子 RecyclerView 项目。问题是我只点击父项的非子RecyclerView部分才能触发父RecyclerView的点击事件。单击子 RecyclerView 项将拦截单击事件。我想知道如何取消子RecyclerView项的点击拦截并传递对其的点击。转到父RecyclerView项,这样无论父RecyclerView项中的区域如何,我都可以显示波浪效果并触发唯一的单击事件。

这是我的适配器代码:

parentAdapter.setOnItemClickListener { _, _, position ->
    val bundle = Bundle()
    bundle.putSerializable("record", recordAdapter.data[position])
    ActivityUtils.startActivity(bundle, RecordDetailActivity::class.java)
}
Run Code Online (Sandbox Code Playgroud)

父适配器

class RecordAdapter : BaseQuickAdapter<Record, BaseViewHolder>(R.layout.item_record) {
    override fun convert(helper: BaseViewHolder, item: Record) {
        ...

        val adapter = ChildAdapter()
        val recyclerView = helper.getView<RecyclerView>(R.id.item_record_product_rv)
        recyclerView.layoutManager = LinearLayoutManager(mContext)
        recyclerView.addItemDecoration(DividerItemDecoration(mContext, DividerItemDecoration.VERTICAL))
        adapter.bindToRecyclerView(recyclerView)
        adapter.setNewData(item.productInfo)
    }
}
Run Code Online (Sandbox Code Playgroud)

子适配器

class RecordProductAdapter : BaseQuickAdapter<RecordProduct<String, String, Double, Int>, BaseViewHolder>(R.layout.item_record_product) {
    override fun convert(helper: BaseViewHolder, item: RecordProduct<String, String, Double, Int>) {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview

5
推荐指数
0
解决办法
975
查看次数

标签 统计

android ×1

android-recyclerview ×1