[英]getID from database of the Item clicked of a listView
我有一个包含两个活动的应用程序。 在每个活动中,我都有一个listView,其中包含一些内容。
在第一个活动中,我在其中具有“课程”的listView。 在第二个中,我有另一个“注释”的listView。
我可以使用SQLite添加“课程”和“注释”。 当我单击“课程”时,它会打开“笔记活动”,并且仅显示为该ID创建的笔记(我使用FK)。
假设我创建了一个名为“数学”的“课程”。 我单击它,然后创建一个注释“ Test”。 之后如果单击“数学”,则可以在其他活动中看到“测试”注释。
但是,假设我创建了一个称为“法语”的“课程”。 如果单击它,将会显示测试注释,如果单击数学,它将显示我没有注释。
发生这种情况是因为我的ListView是由ASC订购的。 而且我正在获取ListView位置的ID。
一开始,Math的ID为1。但是当我创建法语时,Math的ID为2,French的ID为1。 但是在我的数据库SQlite中,数学的ID为1,法语的ID为2。
所以: 当我单击第一个ListView的项目时,如何获取数据库的ID而不是listView上的位置的ID?
这是我的第一个ListView的ClickListener:
lv.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
long itemid= lv.getItemIdAtPosition(i);
int id= (int)itemid;
String a =lv.getItemAtPosition(i).toString();
Intent b = new Intent(AffichageCours.this,AffichageNotes.class);
Bundle args = new Bundle();
args.putString("nom_cours",a);
args.putInt("id",id);
b.putExtras(args);
startActivity(b);
}
});
}
在第二个活动中,我如何调理值:
Intent intent = getIntent();
Bundle args = intent.getExtras();
int id = args.getInt("id");
String nom_cours = args.getString("nom_cours");
先感谢您 !
在long
的价值onItemClick
应的ID,如果你使用了游标和你列有一个id列_id
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.