У меня есть список, в который я вывожу информацию из бд. Подскажите, как извлекать данные из списка при клике на элемент? Адаптер кастомный.
Если у Вас есть БД, то можно вытащить из неё данные в виде HashMap.
Допустим, у БД есть столбцы _Id, PRODUCTNAME, COAST, INCOME
(Вы же можете просто поменять названия этих столбцов на свои в массиве строк, которые подаются как аргументы метода query. Ну и так же поменять обобщение у HashMap`а на те типы, которые используете Вы)
И вытащить их из БД можно, например, так:
public HashMap<Long, String> getHashMap(String exec) {
HashMap<Long, String> map = new HashMap<>();
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_PRODUCTS, new String[]{COLUMN_ID, COLUMN_PRODUCTNAME,
COLUMN_COAST, COLUMN_INCOME}, null, null, null, null, null); // Здесь в массиве String`ов просто поменяйте столбцы
if (cursor != null && cursor.moveToFirst()) {
do {
// Как пример
long value = cursor.getLong(cursor.getColumnIndexOrThrow(exec));
String name = cursor.getString(cursor.getColumnIndexOrThrow(COLUMN_PRODUCTNAME));
map.put(value, name);
} while (cursor.moveToNext());
}
return map;
}
И потом, прикрепив обработчик событий к ListView, вытаскивать их из HashMap по индексу:
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// Вытаскиваем данные из коллекции по текущей позиции элемента ListView
...
}
});
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости