Я разрабатывает Android-приложение, которое имеет 3 ListView и один ContextMenu для каждого вида:Как определить, какой ListView был нажат?
@Override ничтожной (меню ContextMenu, Вид зрения, ContextMenuInfo информации) общественного onCreateContextMenu {
menu.add(Menu.NONE, CONTEXT_MENU_ITEM_DELETE, Menu.NONE, "Delete");
super.onCreateContextMenu(menu, view, info);
}
Регистрация для мыши ловли:
this.registerForContextMenu(mFirstCategory);
this.registerForContextMenu(mSecondCategory);
this.registerForContextMenu(mMainCategory);
mFirstCatego ry, mSecondCategory, mMainCategory - ListViews. Кроме того, я метод для получения строки щелкнул:
@Override общественного логический onContextItemSelected (MenuItem элемент) {
AdapterContextMenuInfo info=(AdapterContextMenuInfo)item.getMenuInfo();
String name = null;
switch (info.targetView.getId()) {
case (R.id.listViewFirst): name="First";
case (R.id.listViewSecond): name="Second";
case (R.id.listViewMain): name="Main";
}
Toast.makeText(this, name+"_"+String.valueOf(info.position), Toast.LENGTH_LONG).show();
return super.onContextItemSelected(item);
}
мне нужно определить позицию (строка) щелкнул из ListView и ListView щелкнул , Мой блок «switch/case» не работает. Пожалуйста, скажите мне, как я могу это сделать?
В некоторых случаях targetView.getParent() возвращает null - любая идея, почему это происходит (и почему это происходит иногда)? – Dabbler