**不要在點擊事件中寫大量 switch-case**。正確做法:
id、position、或業務 code)。Intent 傳遞。onCreate 取出標識,查詢數據庫/網路獲取完整數據並顯示。// Adapter.getView()
View view = inflater.inflate(R.layout.item, null);
view.setOnClickListener(v -> {
Intent intent = new Intent(context, DetailActivity.class);
intent.putExtra("item_id", dataList.get(position).getId()); // 傳遞唯一 ID
context.startActivity(intent);
});
return view;
listView.setOnItemClickListener((parent, view, position, id) -> {
MyData item = (MyData) parent.getItemAtPosition(position);
Intent intent = new Intent(this, DetailActivity.class);
intent.putExtra("item_id", item.getId());
startActivity(intent);
});
// DetailActivity.onCreate()
long itemId = getIntent().getLongExtra("item_id", -1);
if (itemId != -1) {
MyData detail = dbHelper.queryById(itemId); // 或網路請求
bindViews(detail);
}