listview中item點擊無反應

我在做一個小小demo時遇到一個問題——listview中item點擊無反應。在mainActivity中有一個button按鈕,然後有listview佈局,在listview中item設置了長按事件和單擊事件,但運行結果就是item的點擊事件不能觸發。

解決方法一:

在listview中item的佈局中將所有子控件focusable屬性設置爲false,這樣listview的item會自動獲得focus的權限,可以被選中。(此方法比較繁瑣,若是item佈局中有很多子控件,那麼一個個的設置爲false比較麻煩)

方法二:在item的佈局中,在根空間設置

android:descendantFocusability="blocksDescendants"
這樣item佈局就會屏蔽所有子控件獲取focus的權限。


descendantFocusability
有三種屬性:

1、beforeDescendants:viewgroup會優先其子類控件而獲取到焦點。

2、afterDescendants:viewgroup只有當其子類控件不需要獲取焦點時才獲取焦點。

3、blocksDescendants:viewgroup會覆蓋子類控件而直接獲得焦點。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章