【问题标题】:View database records via listview itemclick通过 listview itemclick 查看数据库记录
【发布时间】:2015-09-18 13:55:03
【问题描述】:

我是 Android 新手,我想知道如何通过 listview itemclick 在另一个活动中查看 mySQL 数据库记录,但这取决于 listview 中所选项目的数据库主键。

换句话说,由于列表视图中的项目是从数据库中解析出来的,因此每个项目都有一个主键。当您单击该项目时,用户将转到另一个活动以根据其主键查看有关该特定项目的详细信息。如何根据所选列表项的主键启动新活动?示例代码将不胜感激。

【问题讨论】:

  • 您的意思是您希望在第二个活动中从数据库中点击列表项的值对吗?
  • 我将其解释为您正在寻找一种方法来查看有关已单击项目的详细信息。例如,如果您有一个银行账户的列表视图,当用户点击一个时,他们应该会被带到一个显示该账户所有交易的屏幕,所以您需要知道被点击账户的主键?
  • @McAdam331 其实我不是很想知道主键,但是你的例子就是我想要的:) 真的很喜欢
  • @JeffreyZamucoOliveras 好的。好吧,我相信你已经看到了,我的例子可以稍微调整一下,从你需要的项目中提取任何信息。 :)
  • @McAdam331 是的,非常感谢 :) 我现在正在寻找其他资源。

标签: php android mysql database listview


【解决方案1】:

此答案可能取决于您使用的适配器类型。如果您使用的是 CursorAdapter,则必须将光标置于单击的位置,并读取 id 值:

mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Cursor cursor = (Cursor) mAdapter.getItem(position);
        long id = cursor.getLong(cursor.getColumnIndex("_id");
    }
});

如果您没有使用光标适配器,您可以更改这两行以匹配您正在使用的任何对象:

Object myObject = (Object) mAdapter.getItem(position);
long id = myObject.getIdentifier();

获得此信息后,您可以将其用作ExtrasIntent 来开始另一个活动来完成您提到的事情。根据您的描述,您正在寻找一个主从流程,那里有很多资源可以解释它。

【讨论】:

  • @JeffreyZamucoOliver 祝你好运!如果您有更详细的问题,请告诉我。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多