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

Android ListView 項目點擊跳轉對應 Activity:使用 Map 存儲目標類別

     編輯:程式設計綜合問答

在 ArrayAdapter 外部設定 OnItemClickListener,透過包含 Class 物件的 Map 列表動態啟動對應 Activity。

資料結構

List> items = new ArrayList<>();
Map map1 = new HashMap<>();
map1.put("title", "Transfers");
map1.put("targetClass", TransfersActivity.class);
items.add(map1);
// ... 依序加入其他項目 ...

Adapter 顯示標題

public class MyAdapter extends ArrayAdapter> {
    // ... getView 中取出 map.get("title") 設定 TextView ...
}

點擊事件

listView.setOnItemClickListener((parent, view, position, id) -> {
    Map item = items.get(position);
    Class target = (Class) item.get("targetClass");
    if (target != null) {
        startActivity(new Intent(CurrentActivity.this, target));
    }
});

優點

  • 資料與導航邏輯分離,易於維護擴充。
  • 避免在 Adapter 內部持有 Context 啟動 Activity。
  • 支援動態增減項目,無需修改 switch-case。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved