#android #sqlite #listview
#Android #sqlite #просмотр списка
Вопрос:
Я устал от всех существующих ответов, но ни один из них не соответствует моим потребностям. В принципе, у меня есть listView
заполненная из моей локальной базы данных. Я просто хочу, чтобы показать выбранное значение из него в textView
Например: если пользователь выбирает «Вакцину» из list-view
, я хочу, чтобы «Вакцина» отображалась в 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
. но мне нужен фактический текст, в котором хранится «Вакцина».
Код, который заполняет представление списка
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);
}
Комментарии:
1. Показать код, который помещает элементы в представление списка.
2. Спасибо за ответ. я обновил, как вы просили. пожалуйста, проверьте раздел «Код, который заполняет listview»
Ответ №1:
Похоже, вы используете CursorAdapter
. В этом случае getItemAtPosition(position)
возвращает исходную Cursor
позицию, и вам нужно прочитать содержимое столбца, которое вы хотите отобразить в вашем TextView
например:
Cursor cursor = (Cursor) parent.getItemAtPosition(position);
String str = cursor.getString(cursor.getColumnIndex("name"));
где «name» — это имя столбца, который вы хотите получить
Комментарии:
1. Ты крутой чувак!! Если бы я владел компанией, я бы нанял вас на желаемую зарплату. Большое спасибо 🙂