Я изо всех сил, чтобы найти решение проблемы:ContextMenuInfo возвращает нуль при вызове showContextMenu - андроид
Я хочу, чтобы открыть Контекстное только для элементов в положении 1 и выше.
Я зарегистрировал свой ListView:
registerForContextMenu(mDrawerList);
я зарегистрировать OnItemLongClickListener:
mDrawerList.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view,
int position, long id) {
if (position != 0)
mDrawerList.showContextMenu();
return true;
}
});
Но в onCreateContextMenu
, ContextMenuInfo
возвращает нуль, Если удалить OnItemLongClickListener
и оставить его с одного вызова от registerForContextMenu
, затем ContextMenuInfo
не является нулевым .. :
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
selectedPosition = info.position;
....
...
}
Как его решить?
удалите длинный клик для прослушивания ... теоретически вам нужно зарегистрировать контекстное меню элементы в ящике, а не сам ящик, и вам не нужно называть «showContextMenu» –