【发布时间】:2015-01-30 11:53:49
【问题描述】:
我想知道为什么如果我在 RecyclerView 内单击,click 事件不会冒泡。
我的场景使用一个简单的RecyclerView 来显示一些TextViews,而它的父View 注册了一个OnClickListener,以便在有人点击视图时执行一些操作。
如果我点击例如TextView 点击事件正确地冒泡到父级。但如果我点击RecyclerView,点击不会冒泡。
奇怪的是,如果我直接在RecyclerView 上设置OnClickListener,它也永远不会被解雇。我认为这是万恶之源。
那么,为什么我的RecyclerView 没有收到任何点击事件?为什么它的父级没有收到任何点击事件?
层次结构如下所示:
- View (has an OnClickListener) <- Why no clicks?
- RecyclerView (clickable=false)
- TextView
- TextView
....
我尝试了setFocusable() 和setClickable(),但没有运气。
PS:我当前的解决方案在RecyclerView 内的每个TextView 上设置一个OnClickListener,并使用getParent() 手动使用performClick() 将点击传播到父视图。
【问题讨论】:
-
如果我没有遗漏什么,你是对的。 RecycleView 不会冒泡事件。
标签: android events android-view