У меня есть вид, который расширяет активность. ListView отобразит несколько списков. Когда пользователь долго щелкает, я хотел бы представить им контекстное меню, позволяющее им выбирать редактирование, удаление и т. Д., А затем идентифицировать список, который был выбран в качестве элемента для выполнения действия.идентификация идентификатора listitem для contextmenu
В OnCreate у меня есть:
listView.setAdapter(adapter);
listView.setOnItemClickListener(onListClick);
listView.setOnItemLongClickListener(onListLongClick);
registerForContextMenu(listView);
У меня есть метод onCreateContextMenu
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("Context Menu");
menu.add(0, v.getId(), 0, "Edit");
menu.add(0, v.getId(), 0, "Delete");
}
, а также onContextItemSelected
@Override
public boolean onContextItemSelected(MenuItem item) {
if (item.getTitle() == "Edit") {
// edit action
} else if (item.getTitle() == "Delete") {
// delete action
} else {
return false;
}
return true;
}
Я не уверен, куда идти сюда, чтобы получить правильный row/listitem.
Великих, который работает, но это, как представляется, будет компенсировано один так вместо info.position я имеющим передать в (info.position + 1). Это ожидаемое поведение? – JDM