Android - 具有多个ListActivity的应用程序在onListItemClick中生成正确的Id

时间:2012-08-31 03:13:19

标签: android listactivity

我正在编写一个有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”的数据。这可能是问题吗?

1 个答案:

答案 0 :(得分:1)

问题已经解决。第二个listactivity是通过从带有join的表中获取数据而创建的。这两个表都有_id字段&使用的选择是'Select *'而不是'Select'。这导致第一个表的id被返回,虽然我期待第二个表中的id。

更正了连接语句,问题已解决。

感谢BBdev& Barak用于回复