在为ListView中的每一行设置setOnLongClickListener
时,我看到了一种奇怪的行为。要解释一下,这里有一点背景:
我的ListView有一个自定义单元格,当单击单元格时,我想更改每个TextView的颜色,所以在我的cell_layout.xml
我包括:
android:duplicateParentState="true"
android:textColor="@drawable/cell_textview_colors_black"
和@drawable/cell_textview_colors_black
是一个包含两个项目的选择器:
<item android:state_pressed="true" android:color="@color/white"/>
<item android:color="@color/black"/>
这样ListView选择状态会传播到单元格内的每个视图......它就像一个魅力,但问题是当我为{{1}中的每个单元格视图添加setOnLongClickListener
时子类,ListView选择状态不再传播到它的子节点,TextView更改颜色行为停止工作!
有什么想法? 牛顿
答案 0 :(得分:1)
也许您应该将onLongClickListener设置为ListView而不是每行:)
答案 1 :(得分:0)
检查可能的原因:
您是否在列表视图中使用ContextMenu?即你在活动中使用registerForContextMenu(android.view.View)方法吗?它可能会影响长按其他项目的行为。
答案 2 :(得分:0)
我认为您应该使用列表上下文菜单,而不是长按事件。像How to use onItemLongClick to show a context menu?
这样的问题