安卓行变得不可点击与按钮

2022-09-02 20:20:54

我有一个listView,其中每行在行布局中都有一个按钮。但是,这似乎使行本身无法单击。如何使按钮和行都可点击?

谢谢。


答案 1

您需要在列表中设置 itemsCanFocus,如下所示:

    mList.setItemsCanFocus(true);

使按钮可单击。然后,您将需要使用自己的适配器,并在 getView 中返回一个可单击且可聚焦的视图。您还将丢失默认的高亮状态,因此您需要将它们与后台资源一起放回。所以这样做:

    view.setClickable(true);
    view.setFocusable(true);
    view.setBackgroundResource(android.R.drawable.menuitem_background);

在返回视图之前添加到您的视图。


答案 2

每当我看到有关 和 属性的帖子时,我总是看到它们同时设置为相同的值。我认为,如果它们是两个独立的属性而不是一个属性,那一定是有原因的。android:focusableandroid:clickable

事实证明,实现所需行为的更好方法是设置

android:focusable="false" 

yourButton.setFocusable(false)

在您的 .完成此操作后,您将能够在 上设置 一个 ,并且单击该行将触发 .ButtonViewOnClickListenerButtononListItemClick()OnItemClickListener


推荐