アイテムの行と各アイテムのオプションの列を持つ単純なグリッドがあります。もちろん、特定のリソース ID を使用して、OnClick アクションをセル項目に手動でリンクできます。
views.setOnClickPendingIntent(R.id.row1column1, launchA);
views.setOnClickPendingIntent(R.id.row1column2, launchB);
// ...
views.setOnClickPendingIntent(R.id.row2column1, launchC);
// ...
私が望むのは、ListView または GridView と Adapter を使用することです。それらのいずれかからセルIDを取得する方法はありますか? ListView setOnItemClickListener() が行「位置」内のビューのビュー ID で私を呼び出すことを望んでいました:
onItemClick(AdapterView<?> parent, View view, int position, long id) { ... }
しかし行きません。多分別のアプローチ?
ありがとう。
アップデート:
私はこれから始めました:
contactsView.setAdapter(new ContactAdapter(this.getApplicationContext(), R.layout.contact, contacts));
contactsLV.setOnItemClickListener(new OnItemClickListener() { ... });
アダプターにアクセスして、子ビューの OnClickListeners を設定できないと思っていました。悪い仮定。これに戻ったとき、私はそれを試してみました:
Button x = (Button)newView.findViewById(R.id.contact_x);
Button y = (Button)newView.findViewById(R.id.contact_y);
x.setOnClickListener(new OnClickListener() { ... });
y.setOnClickListener(new OnClickListener() { ... });
...
出来上がり!