Как мне получить название нажатого элемента списка 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 и в другой активности запросить необходимые данные напрямую из базы.

→ Ссылка