學習android ,練習使用ListView的時候出現了一個問題,Item點擊事件失效,點擊listview沒有反應。
網上查了一下,原來是ListView的Item搶佔焦點或者Item沒有獲取焦點甚至沒有綁定上OnItemClickListener監聽事件。在listview的佈局文件中有Button,ImageButton等子控件,這些子控件會將點擊的焦點獲取到,所以在點擊item的時候,其實是能夠獲取焦點的子控件在變化,默認是其子控件優先獲得焦點的,而item的setOnItemClickListener事件沒有觸發。
解決方法是在item的佈局文件的根中使用:android:descendantFocusability="blocksDescendants"設置,官方API解釋(android.view.ViewGroup):