Android 之 ListView 的焦點問題

我們可以寫個簡答的listView,上面有一個Button,CheckBox,EditText,但是當我們點擊發現, ListView的item點擊不了,觸發不了onItemClick的方法,也觸發不了onItemLongClick方法, 這個就是ListView的一個焦點問題了!就是ListView的焦點被其他控件搶了,下面我們來看看如何 解決這個問題?

1.第一種方法

只需爲搶佔了ListView Item焦點的控件設置android:focusable=”false”即可解決這個問題 或者在代碼中獲得控件後調用:setFocusable(false) !!另外,EditText卻不行,如果我們設置了android:focusable=”false”,這B可以獲取焦點但是一下子 又失去了焦點,而且也不會彈出小鍵盤,暫不知道如何解決,聽別人說是ListView的一個bug,如果 有知道解決方法的歡迎告知下,謝謝~

2.第二種方法

在Item佈局的根節點添加上述屬性,android:descendantFocusability=”blocksDescendants” 即可,另外該屬性有三個可供選擇的值:

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

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

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

轉自:http://www.runoob.com/w3cnote/android-tutorial-listview-focus.html

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