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