1

我正在编写一个具有 2 个 ListActivity 的 android 应用程序。

ListActivity 1 -> OnItemClick -> 正确打开详情页 ListActivity 1 -> 菜单选项 -> 打开 ListActivity 2 ListActivity 2 -> OnItemClick ->应该打开ListActivity 2 的列表项的详情

但是,我在第二个列表活动的 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”。这可能是问题吗?

4

1 回答 1

1

问题已解决。第二个列表活动是通过从带有连接的表中获取数据而创建的。两个表都有 _id 字段,并且使用的选择是“Select *”而不是“Select”。这导致返回第一个表的 id,尽管我期待第二个表的 id。

更正了join语句,问题得到解决。

感谢BBdevBarak的回复

于 2012-09-01T07:27:57.410 回答