ListView中item與控件搶奪焦點解決辦法

        1.將ListView中的Item佈局中的子控件focusable屬性設置爲false
        2.在getView方法中設置button.setFocusable(false)
        3.設置item的根佈局的屬性android:descendantFocusability="blocksDescendants"

      這三種方法都是爲了讓Button等控件不能獲取焦點,從而使得item可以響應點擊事件。

第三種方法使用起來比較方便

它是將item佈局中的其他所有控件都設置爲不能獲取焦點

        android:descendantFocusability屬性共有三個取值,分別爲
        beforeDescendants:viewgroup會優先其子類控件而獲取到焦點
        afterDescendants:viewgroup 只有當其子類控件不需要獲取焦點時才獲取焦點
        blocksDescendants:viewgroup 會覆蓋子類控件而直接獲得焦點
發佈了37 篇原創文章 · 獲贊 2 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章