Android - 具有多个 ListActivity 的应用程序导致 onListItemClick 中的正确 Id

标签 android listactivity

我正在编写一个包含 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。

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

谢谢BBdev & Barak用于响应

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

相关文章:

android - 无法解析 : androidx. 生命周期 :lifecycle-extensions-ktx:2. 0.0-alpha1

android - HTTP 请求中用户代理的相关性

android - 无需轮询即可访问串行端口 (/dev/tty*) 传入数据

android - ArrayAdapter.setNotifyOnChange 工作不正常

android - 如何添加一个按钮来调用以编程方式给定的电话号码?

android - myView.getHitRect() 返回相对于父对象的坐标。如何让他们与祖 parent 联系起来?

java - 如何设置标题栏的背景?

java - 错误 : anonymous class is not abstract and does not override abstract method

android - 在横向模式下强制关闭,但在纵向模式下不强制关闭

android - 如何从 Android 中的 ListActivity 中获取多个选定项目