Вывожу список из БД с использованием SimpleAdapter, при нажатии на элементе списка появляется AlertDialog с предложением удалить элемент, а id элемента не знаю как получить.
Код: Выделить всё
private ArrayList <HashMap<String, Object>> myBooks;
private static final String BOOKKEY = "bookname";
private static final String IMGKEY = "iconfromraw";
Вывод из БД:
Код: Выделить всё
c = db.query("group", null, null, null, null, null, null);
if (c.moveToFirst()) {
SQliteEmpty.setVisibility(View.GONE);
int idColIndex = c.getColumnIndex("id");
int nameColIndex = c.getColumnIndex("name");
do {
hm = new HashMap<String, Object>();
hm.put(BOOKKEY, "name" + c.getString(nameColIndex)+"id"+c.getInt(idColIndex));
hm.put(IMGKEY, R.drawable.icon_exercise);
myBooks.add(hm);
} while (c.moveToNext());
}
else
{
c.close();
}
Адаптер:
Код: Выделить всё
SimpleAdapter adapter = new SimpleAdapter(this,
myBooks,
R.layout.list_item, new String[]{
BOOKKEY,
IMGKEY
}, new int[]{
R.id.text1,
R.id.img});
listView.setAdapter(adapter);
listView.setChoiceMode(ListView.CHDE_SINGLE);
Действие которое нужно выполнить при нажатии на элемент списка:
Код: Выделить всё
listView.setOnItemLongClickListener(new OnItemLongClickListener(){
public boolean onItemLongClick(AdapterView<?> parent, View view,
int position, long id) {
Как здесь получить id элемента из БД?
showDialog(IDD_DELETE_ITEM);//Запускаем AlertDialog
return false;
}
});