0
我添加子菜單,而我是一個類,從RelativeLayout的延長內部:添加從視圖中點擊子菜單拋出:BadTokenException:無法添加窗口
@Override
protected void onCreateContextMenu(ContextMenu menu) {
super.onCreateContextMenu(menu);
SubMenu subMenu = menu.addSubMenu("Submenu");
subMenu.add("SUB1");
subMenu.add("SUB2");
}
而且我展示使用菜單:
showContextMenu();
現在的一切都很好,「子菜單」項目顯示得非常好。當我點擊「子菜單」項,它產生此異常:
android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
at android.view.ViewRootImpl.setView(ViewRootImpl.java:542)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:259)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
at android.app.Dialog.show(Dialog.java:286)
at com.android.internal.view.menu.MenuDialogHelper.show(MenuDialogHelper.java:95)
at com.android.internal.view.menu.ListMenuPresenter.onSubMenuSelected(ListMenuPresenter.java:139)
at com.android.internal.view.menu.MenuBuilder.dispatchSubMenuSelected(MenuBuilder.java:266)
at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:902)
at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)
at com.android.internal.view.menu.MenuDialogHelper.onClick(MenuDialogHelper.java:173)
at com.android.internal.app.AlertController$AlertParams$3.onItemClick(AlertController.java:952)
at android.widget.AdapterView.performItemClick(AdapterView.java:302)
at android.widget.AbsListView.performItemClick(AbsListView.java:1188)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3009)
at android.widget.AbsListView$3.run(AbsListView.java:3767)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5433)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
at dalvik.system.NativeStart.main(Native Method)
其實我不明白的例外非常好,我沒有看到的子菜單的顯示方式的任何實例,我認爲它會顯示在彈出對話框或類似的東西?
我需要做的是顯示一個菜單項與子項目,我不在一個活動!