gpt4 book ai didi

Android onItemClick 给出不正确的 id

转载 作者:搜寻专家 更新时间:2023-11-01 08:45:29 27 4
gpt4 key购买 nike

我正在尝试通过查询 SQLite 数据库来获取 ListView 中单击项目的详细信息。我将来自 onItemClick 的 long id 值作为主键传递。但是,long id 与表中的实际主键不匹配。我通过查询表中所有行的主键找到了实际的主键。

我有以下问题:1. 我假设onItemClick(AdapterView parent, View view, int position, long id) 中的long id 参数携带数据库表中item 的主键是否正确?

  1. 如果不是,我该如何获取主键?

我在下面附加了我的代码:

list.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {

public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

//Display Client Details
Intent displayclient = new Intent(view.getContext(), display_clientdetails.class);
Integer db_id = (int) id;

String TAG = "client_list";
Log.d(TAG,"Position is" +position +" ID is " +db_id);

displayclient.putExtra("client_id",db_id);
view.getContext().startActivity(displayclient);

}

});

最佳答案

不,你不对。如果您使用的是自定义适配器,则应重写 getItemId(int position) 以控制和返回您考虑的任何 id。

我通常使用这样的东西,但这取决于你的主键类型。您可能还必须重写 getItem(int position)。

@Override
public long getItemId(int position) {
return getItem(position).getId();
}

关于Android onItemClick 给出不正确的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28793237/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com