gpt4 book ai didi

android - 在 TextView 中显示 ListView 的选定值逻辑错误 "android.database.sqlite.SQLiteCursor@4274b148"

转载 作者:行者123 更新时间:2023-11-29 17:48:59 27 4
gpt4 key购买 nike

我已经厌倦了所有现有的答案,但没有一个能满足我的需要。基本上我有一个从本地数据库填充的 listView。我只想将选定的值从它显示到 textView

例如:如果用户从 list-view 中选择“Vaccine”,我希望“Vaccine”出现在 TextView 中。到目前为止我尝试过的代码之一是

@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
// TODO Auto-generated method stub
TextView tv = (TextView) findViewById(R.id.textView1);
String str = parent.getItemAtPosition(position).toString();
tv.setText(str);
}

上面的代码给了我android.database.sqlite.SQLiteCursor@4274b148。但我需要存储“疫苗”的实际文本。

填充 ListView 的代码

private void populateListViewAppTypeFromDB() 
{
// TODO Auto-generated method stub
Cursor cursor = dbmanager.getAllAppTypeRows();

String[] fromFieldNames = new String[] {NewDatabaseManager.KEY_TYPEOFAPPLIANCE};
int[] toViewIds = new int[] {R.id.appTypeNamefield};

@SuppressWarnings("deprecation")
SimpleCursorAdapter myCursorAdapter = new SimpleCursorAdapter
(
this,
R.layout.item_layout_app_type,
cursor,
fromFieldNames,
toViewIds
);


ListView myAppTypeList = (ListView) findViewById (R.id.appTypeListFromDatabase);

myAppTypeList.setAdapter(myCursorAdapter);
}

最佳答案

看起来您正在使用 CursorAdapter。在这种情况下,getItemAtPosition(position) 返回位置处的 Cursor,您必须阅读要在 TextView 中显示的列内容

例如:

Cursor cursor = (Cursor) parent.getItemAtPosition(position); 
String str = cursor.getString(cursor.getColumnIndex("name"));

其中“名称”是您要检索的列的名称

关于android - 在 TextView 中显示 ListView 的选定值逻辑错误 "android.database.sqlite.SQLiteCursor@4274b148",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24369870/

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