Я создаю выбранный пользователем список избранного, помечая элементы в таблице базы данных SQLite, которая заполняет ListView.Эти помеченные элементы будут затем заполнять избранное ListView.Чтобы сделать это правильно, мне нужно получить rowId в таблице базы данных SQLite, из которой заполнен ListView, чтобы я мог добавить флаг.Как получить rowId?
Вот мой текущий код:
OnItemClickListener:
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int
position, long id) {
String selected = (String)
mListView.getItemAtPosition(position);
mItemTextView = findViewById(R.id.itemWords);
mItemNumberTextView = findViewById(R.id.itemNumber);
mId = id;
mBookCopied =
mItemHeaderNameTextView.getText().toString();
mItemCategoryNumberCopied = Integer.toString(mCategorySelected + 1);
mItemNumberCopied =
mItemNumberTextView.getText().toString();
mPosition = position + 1;
mCopiedItemListItem = mItemCopied + " " +
mCategoryNumberCopied + ":" + mPosition + "\n\n" + selected;
showMenu(view);
}
});
ItemAdapter:
class ItemAdapter extends ArrayAdapter<String> {
public ItemAdapter(Context context, int resource1, List<String> items) {
super(context, resource1, items);
mContext = context;
mResource1 = resource1;
mItems= items;
}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
View listItem = convertView;
int pos = position + 1;
if (listItem == null) {
listItem = LayoutInflater.from(mContext).inflate(mResource1, parent, false);
}
mItemNumberTextView = (TextView) listItem.findViewById(R.id.itemNumber);
mItemumberTextView.setText(String.valueOf(pos) + " ");
mItemTextView = (TextView) listItem.findViewById(R.id.itemWords);
mItemTextView.setText(mItems.get(position));
}
return listItem;
}
}
Я пытался использоватьсекция "длинный идентификатор" onItemClickListener, но это просто возвращает позицию в ListView.Мне нужен фактический идентификатор строки из таблицы базы данных.
Что мне здесь не хватает?Я ценю вашу помощь.