我正在编写一个包含 2 个 ListActivity 的 Android 应用。
ListActivity 1 -> OnItemClick -> 正确打开详情页 ListActivity 1 -> 菜单选项 -> 打开 ListActivity 2 ListActivity 2 -> OnItemClick -> Should Open ListActivity 2 的列表项详情
但是,我在第二个列表 Activity 的 onListItemClick 中获得的“id”不正确。
ListActivity 1 onListItemClick 处理程序:
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Intent c = new Intent(this, ADisplay.class);
c.putExtra(ABDbAdapter.A_FIELD_ID, id);
startActivityForResult(c, ACTIVITY_DISPLAY);
}
ListActivity 2 onListItemClick 处理程序:
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Intent c = new Intent(this, TDisplay.class);
c.putExtra(ABDbAdapter.T_FIELD_ID, id);
startActivityForResult(c, ACTIVITY_DISPLAY);
}
ListActivity 1 具有来自表 1 的数据,主键为“_id” ListActivity 2 具有来自表 2 的数据,主键为“_id”。这可能是问题所在吗?
最佳答案
问题已经解决。第二个列表 Activity 是通过使用连接从表中获取数据创建的。两个表都有 _id 字段,并且使用的选择是“Select *”而不是“Select”。这导致返回第一个表的 ID,尽管我期待第二个表的 ID。
更正了连接语句,问题已解决。
关于Android - 具有多个 ListActivity 的应用程序导致 onListItemClick 中的正确 Id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12208415/