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

最佳答案

该问题已解决。第二个listactivity是通过使用join从表中获取数据来创建的。两个表都有_id字段,并且使用的选择是“选择*”而不是“选择”。尽管我期望第二张表的ID,但这导致返回了第一张表的ID。

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

感谢BBdevBarak的答复

关于android - Android-具有多个ListActivity的应用程序导致onListItemClick中的ID正确,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12208415/

10-11 22:36