У меня есть ListView
, который я заполняю CursorAdapter
следующим образом:
SimpleCursorAdapter.ViewBinder viewBinder = new SimpleCursorAdapter.ViewBinder() {
public boolean setViewValue(View view, Cursor cursor, int columnIndex) {
if(columnIndex == cursor.getColumnIndex(MyTableColumns._ID))
{
view.setTag(cursor.getInt(columnIndex));
}
// some other stuff
}
};
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.my_item_renderer, cursor, from, to);
adapter.setViewBinder(viewBinder);
Цель состоит в том, чтобы получить идентификатор из элемента списка, по которому щелкнули:
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
Object obj = v.getTag();
int myId = Integer.parseInt(obj.toString());
}
Однако это всегда возвращает null
.Что я пропускаю?Пока я просто использую скрытое текстовое поле, но я хотел бы знать, что я делал неправильно.