ListView带有可点击/可编辑的小部件

bug*_*gzy 44 android android-widget

当Items布局有可点击/可编辑的小部件(RadioButton,EditText或CheckBox)时,是否可以在ListView上使用OnItemClickListener?

Sam*_*muh 68

您可能想看一下这个问题.在a的行中具有可聚焦项目ListView会导致OnItemClickListenerNOT被调用.但是,这并不意味着你不能连续获得可聚焦/可点击的项目,有一些像这样的解决方法.

此外,您还可以查看"呼叫日志"屏幕.它有一个ListView可点击的项目(右侧的呼叫图标). 请参阅此处的源代码

  • 快速帮助:"解决此问题的一种简单方法是在listView视图中调用"setDescendantFocusability(FOCUS_BLOCK_DESCENDANTS);",因为它们已添加.您将能够选择行,单击行并单击子复选框和按钮". - 这是上面答案中两个链接引用的页面中的注释#27的引用.非常感谢!! (4认同)

kha*_*d13 20

在Samuh提到的链接中引用了评论#31(为我解决了这个问题):

实际上你可以将它添加到布局XML(如果被一个膨胀):android:descendantFocusability ="blocksDescendants".

在这里添加JIC,将来网页已关闭.


Bha*_*ara 11

如果列表中的任何行项包含可聚焦或可单击的视图,则OnItemClickListener无效.

行项必须有param之类的 android:descendantFocusability="blocksDescendants"

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:baselineAligned="false"
    android:descendantFocusability="blocksDescendants"
    android:gravity="center_vertical" >

    // your other widgets here

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)