我有一个ListView,上面有一些元素。每行都有一个TextView和一个Button。它看起来像这样:
|一些文本连续(按钮)|
现在,当我点击这个文字时没有任何反应。根本没有人调用任何功能。但是,当我点击按钮时,我可以处理该事件。我使用onListItemClick()
那么我应该使用什么而不是这个TextView来处理事件(当我点击文本时)?
在此之前,我每行只有一个TextView,当我点击一行时一切正常(调用onListItemClick())。
先谢谢你!
我有一个ListView,上面有一些元素。每行都有一个TextView和一个Button。它看起来像这样:
|一些文本连续(按钮)|
现在,当我点击这个文字时没有任何反应。根本没有人调用任何功能。但是,当我点击按钮时,我可以处理该事件。我使用onListItemClick()
那么我应该使用什么而不是这个TextView来处理事件(当我点击文本时)?
在此之前,我每行只有一个TextView,当我点击一行时一切正常(调用onListItemClick())。
先谢谢你!
添加属性 focusable="false"
到你的 TextView
::
<TextView
...
...
android:focusable="false"
/>
并且您可能需要对ListView中的其他元素执行相同的操作。
我以编程方式使用该方法 setFocusable():
v.findViewById(R.id.my_button).setFocusable(false);
setFocusable():将此设置为false也将确保这一点 视图在触摸模式下无法聚焦。
添加属性 focusable="false"
到你的 TextView
::
<TextView
...
...
android:focusable="false"
/>
并且您可能需要对ListView中的其他元素执行相同的操作。
我以编程方式使用该方法 setFocusable():
v.findViewById(R.id.my_button).setFocusable(false);
setFocusable():将此设置为false也将确保这一点 视图在触摸模式下无法聚焦。
挑战是ListView和按钮争夺焦点。通常,两者中只有一个可以获得焦点(因此可以点击)。在你的事业中,按钮是可聚焦的按钮。
要调整这个,你可以玩 descendantFocusability ListView的属性。
你想通过ListView项目中的按钮来完成什么?当您单击按钮时,您是否希望发生不同的事情?当您单击按钮外的listview项目时?