【发布时间】:2013-11-13 15:11:13
【问题描述】:
我在上下文菜单的代码中得到NullPointerException。
这里是 onCreateContextmenu 方法
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.add(0, MENU_EDIT, 0, "Edit");
menu.add(0, MENU_DELETE, 0, "Delete");
}
我在下面代码中的long buttonId = info.id; 行中收到错误
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
long buttonId = info.id;
switch (item.getItemId()) {
case MENU_EDIT:
function1(buttonId);
break;
case MENU_DELETE:
function2(buttonId);
break;
}
return true;
}
谁能帮我解决这个问题
【问题讨论】:
-
堆栈跟踪会很有帮助。很可能某些东西只是 null 被传递给其中一种方法。
-
如何获取stacktrace?我是新手,两周前刚开始学习
-
@apgwoz 你能指导我任何显示用于至少两个按钮的上下文菜单的教程或示例吗?我有 8 个按钮,每个按钮都需要
EDIT和Delete选项 -
在函数
onContextItemSelected我怎样才能得到被长按的按钮的id -
@dmserazi:我对安卓开发一无所知。我只是假设 NullPointerException 是由一些简单的事情引起的......我假设堆栈跟踪将显示在您的模拟器提供的任何日志记录中。