[英]Android Row becomes Unclickable with Button
我有一個listView,其中每行在行布局中都有一個按鈕。 但是,這似乎使行本身無法點擊。 如何使按鈕和行都可以點擊?
謝謝。
您需要在列表上設置itemsCanFocus,如下所示:
mList.setItemsCanFocus(true);
使按鈕可單擊。 然后,您將需要使用自己的適配器,並在getView中返回一個可點擊且可聚焦的視圖。 您還將丟失默認突出顯示狀態,因此您需要將它們重新放入后台資源。 這樣做:
view.setClickable(true);
view.setFocusable(true);
view.setBackgroundResource(android.R.drawable.menuitem_background);
返回視圖前的視圖。
每當我看到有關android:focusable
和android:clickable
屬性的帖子時,我總是看到它們同時被設置為相同的值。 我認為必須有一個理由,如果它們是兩個獨立的屬性而不是一個。
事實證明,實現理想行為的更好方法是設置
android:focusable="false"
要么
yourButton.setFocusable(false)
在View
的Button
上。 一旦你這樣做,你既可以設置一個OnClickListener
上的Button
,並在該行一點擊就會觸發onListItemClick()
在你的方法OnItemClickListener
。
嘗試將您的小部件設置為不可點擊且不可聚焦在xml中,單擊項目將正常工作,並且單擊按鈕將正常工作。
android:clickable="false"
android:focusable="false"
希望這可以幫助。
不幸的是,我不認為這是可能的。 ListView行可以具有可聚焦的小部件,如按鈕, 也可以是可點擊的,而不是兩者。 見鏈接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.