我在做一個小小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會覆蓋子類控件而直接獲得焦點。