首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android ListView 點擊事件監聽:使用 setOnItemClickListener 而非 setOnItemSelectedListener

     編輯:程式設計綜合問答

錯誤代碼

list.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { ... }); // 錯誤:觸摸不觸發

正確代碼

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView parent, View view, int position, long id) {
        // 處理點擊
    }
});

區別

注意

  • Item 佈局中**不可**設置 `android:focusable="true"` 或 `android:focusableInTouchMode="true"`,否則會攔截點擊事件導致 `onItemClick` 不觸發。
  • 若需長按,另行設置 `setOnItemLongClickListener`。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
監聽器觸發條件適用場景
OnItemClickListener觸摸/點擊 Item觸摸屏交互
OnItemSelectedListener焦點移動到 Item (方向鍵、Trackball)非觸摸設備、鍵盤導航