【发布时间】:2017-09-06 17:34:23
【问题描述】:
(首先,对不起我的英语不好,请改正)
嗨,我可以从数据库中填充列表视图,如果我点击任何列表视图项,它会通过相关的“id”转到“Detail.class”。
问题是当我重新填充课程时(课程=“WHERE deck='”+课程+“'”;),列表视图正确填充但列表视图索引/ID?没有改变,当我单击 listview 项目时,“Detail.class”正在打开但 ID 错误。
----- 数据库助手类---
if (lesson.equals("")) {
lesson= "";
} else {
lesson= " WHERE deck='" + MainActivity.lesson + "'";
}
String selectQuery = "select word, id,word,typ from TAB" + lesson + " group by id";
---- MainActivity 类----
private void loadListview() {
Database db = new Database(getApplicationContext());
List<String> labels = db.makeList();
dataAdapter = new ArrayAdapter<String>(this, R.layout.listview_spc, labels);
Listview1 = (ListView) findViewById(R.id.liAll);
Listview1.setAdapter(dataAdapter);
}
Listview1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
Intent intent = new Intent(getApplicationContext(), Detail.class);
intent.putExtra("id", (int) word_ids[arg2]); // I think the problem is here.
startActivity(intent);
}
});
【问题讨论】: