我有一个listView,其中每一行在行布局中都有一个按钮。但是,这似乎使行本身无法单击。如何使按钮和行都可单击?
谢谢。
发布于 2010-02-24 09:41:37
您需要在列表中设置itemsCanFocus,如下所示:
mList.setItemsCanFocus(true);
要使按钮可单击,请执行以下操作。然后,您将需要使用自己的适配器,并在getView中返回一个可单击和可聚焦的视图。您还将丢失默认的高亮显示状态,因此您需要将它们放回后台资源中。所以要这样做:
view.setClickable(true);
view.setFocusable(true);
view.setBackgroundResource(android.R.drawable.menuitem_background);
在返回视图之前添加到视图中。
发布于 2013-06-14 15:38:43
每当我看到关于android:focusable
和android:clickable
属性的帖子时,我总是看到它们同时被设置为相同的值。我认为如果它们是两个单独的属性而不是一个属性,这肯定是有原因的。
事实证明,实现所需行为的更好方法是设置
android:focusable="false"
或
yourButton.setFocusable(false)
在View
中的Button
上。完成此操作后,您将能够在Button
上设置OnClickListener
,单击行将触发OnItemClickListener
中的onListItemClick()
方法。
https://stackoverflow.com/questions/2322390
复制相似问题