Listview item點擊事件失效 解決這個其難雜症良藥

ListView已經不是簡單的textview組成的item就能滿足了,對於需要定製更多控件複雜界面的要求,什麼ImageButton、Button、Edtitext等等之類對焦點會影響的控件,用在listview上就感覺有點酸爽~~~~

用了以後發現listview的item點擊事件竟然失!效!了!

其實原因百度一下就知道了,無非就是因爲ImageButton、Button、Edtitext這廝們霸佔了焦點令到listview的點擊事件失效(對不起語氣重了,只是子view佔用了父view,對於這種情況,有好也有不好,主要看各種碼生的需求而已)。好,既然原因知道了,就可以去找解決方法了。

簡單粗暴:

android:descendantFocusability="blocksDescendants"
把這個放到item的根佈局上面去就好了。運行起來是不是感覺萌萌噠~~~~


官網解釋:

Defines the relationship between the ViewGroup and its descendants when looking for a View to take focus.

Must be one of the following constant values.

 (中文解釋版)該屬性是當一個爲view獲取焦點時,定義viewGroup和其子控件兩者之間的關係。

屬性的值有三種:

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

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

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



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