Как мне получить название нажатого элемента списка ListView от запроса sql simpleCursoradpater?
Мой ListView заполняется SimpleCursorAdapter'ом через rawQuerry
c = db.rawQuery("select * from " + TABLE +" group by " + COLUMN_MODEL , null);
И по нажатию на элемент списка я хочу передать его через intent на другую активити, но следующий код выдает только верхний элемент в списке
ListView.setOnItemClickListener((parent, view, position, id) -> {
Intent intent = new Intent(MainActivity.this, CheckTime.class);
Cursor t = db.rawQuery("SELECT _id, Model FROM KerTime group by Model", null);
t.moveToFirst();
String Model = t.getString(t.getColumnIndexOrThrow("Model"));
intent.putExtra("Model", Model);
startActivity(intent);
}); ```
Ответы (1 шт):
Автор решения: woesss
→ Ссылка
listView.setOnItemClickListener((parent, view, position, id) -> {
// для CursorAdapter этот метод возвращает курсор, установленный на указанной позиции
Cursor t = (Cursor) parent.getItemAtPosition(position);
// и просто берём значение нужной колонки
String Model = t.getString(t.getColumnIndexOrThrow("Model"));
Intent intent = new Intent(MainActivity.this, CheckTime.class);
intent.putExtra("Model", Model);
startActivity(intent);
});
Другой вариант: передать в интенте параметр id и в другой активности запросить необходимые данные напрямую из базы.