我目前正在尝试在 ListView 的每个项目上获取onLongClick
,但android studio无法识别super.onCreateContextMenu(menu, v, menuInfo);
和super.onContextItemSelected(item);
。当我把这些拿出来时,我注意到它们完全起作用了。
在 onCreate 里面我有
registerForContextMenu(getListView());
然后在这个函数下面我有以下函数
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
menu.setHeaderTitle(mAdapter.getItem(info.position).toString());
menu.add(Menu.NONE, CONTEXT_MENU_DELETE, CONTEXT_MENU_DELETE, R.string.del_item);
}
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
switch (item.getItemId()) {
case CONTEXT_MENU_DELETE:
mAdapter.remove(info.position);
return true;
default:
return super.onContextItemSelected(item);
}
return true;
}
最佳答案
确保导入来自兼容性库,而不是来自 SDK 本身。
关于java - 让 OnLongClick 在 ListView Android Studio 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26828821/