我有一个简单的网格,其中包含项目行和每个项目的选项列。当然,我可以通过特定的资源 ID 手动将 OnClick 操作链接到单元格项目:
views.setOnClickPendingIntent(R.id.row1column1, launchA);
views.setOnClickPendingIntent(R.id.row1column2, launchB);
// ...
views.setOnClickPendingIntent(R.id.row2column1, launchC);
// ...
我更喜欢使用 ListView 或 GridView 和适配器。有没有办法从其中一个获取单元格 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() { ... });
...
瞧!