ListView點擊單個Item失效問題解決辦法

如果ListView中的單個Item的view中存在checkbox,button等view,會導致ListView.setOnItemClickListener無效,
事件會被子View捕獲到,ListView無法捕獲處理該事件.
解決方法:
在checkbox、button對應的view處加android:focusable="false"
   android:clickable="false" android:focusableInTouchMode="false"
其中focusable是關鍵
從OnClickListener調用getSelectedItemPosition(),Click 和selection 是不相關的,Selection是通過D-pad or trackball 來操作的,Click通常是點擊操作的。
arg2參數纔是點擊事件位置的參數

第二種方法 就是在自己的getView中

convertView = mInflater . inflate ( R . layout . list_item_text , null );  
convertView . setClickable ( true );  
convertView . setOnClickListener ( clickListener );  
public OnClickListener myClickListener = new OnClickListener () {  
public void onClick ( View v ) {  
                  //code to be written to handle the click event  
    }  
};  


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