Android 从sqlite数据库中检索数据并通过";“麦克利克”;
我希望当我单击列表项时,应用程序应该加载另一个类,然后通过从sqlite数据库检索数据在textview上显示所需的数据Android 从sqlite数据库中检索数据并通过";“麦克利克”;,android,sqlite,Android,Sqlite,我希望当我单击列表项时,应用程序应该加载另一个类,然后通过从sqlite数据库检索数据在textview上显示所需的数据 @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stub Intent intent = new Intent(DictionaryAc
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
Intent intent = new Intent(DictionaryActivity.this,
WordDetails.class);
// Cursor cursor = (Cursor) adapter.getItem(position);
id = wordList.getItemIdAtPosition(position);
intent.putExtra("Word_ID", id);
// cursor.getInt(cursor.getColumnIndex("_id"));
startActivity(intent);
}
当我点击一个项目时,会显示“Error”字,这个字应该显示出来,但是
wordTd
等于-1。为什么这个wordId
没有得到正确的值?感谢您的帮助。默认情况下传递给侦听器的id
是该行在数据库中的唯一id,无需通过以下方式获取:
id = wordList.getItemIdAtPosition(position);
将您的侦听器更改为:
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(DictionaryActivity.this, WordDetails.class);
intent.putExtra("Word_ID", id);
startActivity(intent);
}
@覆盖
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
意向意向=新意向(DictionaryActivity.this,WordDetails.class);
意图。putExtra(“Word_ID”,ID);
星触觉(意向);
}
放置Intent
extra时使用的“键”区分大小写。您正在将id设置为
intent.putExtra("Word_ID", id);
…但后来我想用
wordId = getIntent().getIntExtra("WORD_ID", -1);
换句话说,您正在放置
Word\u ID
并尝试获取Word\u ID
。更改代码,使它们都相同并且应该可以使用。FYI,在将代码剪切并粘贴到问题中后,再次高亮显示代码,然后按Ctrl+K将其格式化为代码块。对代码片段使用`Good catch(Upvote)。我认为id
是不正确的,但这只是一个多余的方法…在将WORD\u id更改为WORD\u id后,我仍然得到相同的结果请参见此处,在执行此操作后,我仍然得到相同的结果谢谢告诉我。这对我真的很有帮助
wordId = getIntent().getIntExtra("WORD_ID", -1);