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

Android ListView Item 點擊獲取隱藏 ID 的正確姿勢

     編輯:程式設計綜合問答

場景

ListView 顯示 title 和 info,隱藏 ID。點擊項目時需獲取該項對應的 ID。

解決方案

方法一:資料模型持有 ID(推薦)

class Item {
    String title, info;
    long id; // 隱藏字段
}

// Adapter 內部持有 List
listView.setOnItemClickListener((parent, view, position, id) -> {
    Item item = (Item) parent.getItemAtPosition(position);
    long realId = item.id; // 直接取得
});

方法二:View.setTag() 綁定 ID

// getView 中
view.setTag(item.id);

// 點擊事件
view.setOnClickListener(v -> {
    long id = (Long) v.getTag();
});

方法三:使用 CursorAdapter 時

long id = cursor.getLong(cursor.getColumnIndex("_id"));

核心原則

  • 資料與視圖分離:ID 屬於資料模型,不應依賴視圖位置(position 可能因排序/過濾變化)。
  • 使用 getItemAtPosition(position) 獲取完整資料對象,而非僅靠 position 推算。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved