2016-03-24 4 views
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) 

実際に私は非常によく例外を理解していない、と私は、サブメニューが表示されるかのいずれかの例を見ませんポップアップダイアログなどで表示されると思いますか?

私が行う必要があるのは、サブアイテムを含むメニューアイテムを表示することです。私はアクティビティの中にいません!

答えて

0

PopupMenuクラスを使用しなければならなかったため、まだ解決策が見つかりませんでした。 この良いtutorialを使用できます。

関連する問題