0

我希望我的主要活动中的菜单按钮始终处于打开状态。我用过:

@Override
public void onAttachedToWindow() {
   super.onAttachedToWindow();
   openOptionsMenu();
}

当我进入活动时打开菜单。但是,当我按下菜单按钮选项转到另一个活动并按下后退按钮时,菜单会消失并要求我按下“菜单”键才能将其取回。我希望菜单在此特定活动中始终保持打开状态。

我试图覆盖 Activity 的 onBackPressed:

@Override

public void onBackPressed(){
   super.onBackPressed();
   this.openOptionsMenu();
}

我已经尝试在 onCreate 中添加 this.openOptionsMenu。当我这样做时,我的应用程序崩溃并出现以下错误:

12-17 09:19:46.674: 错误/AndroidRuntime(4940): 致命异常: main 12-17 09:19:46.674: 错误/AndroidRuntime(4940): java.lang.RuntimeException: 无法启动活动 ComponentInfo{com. cmu.community/com.cmu.community.HomeActivity}: android.view.WindowManager$BadTokenException: Unable to add window -- token null 无效;您的活动正在运行吗?12-17 09:19:46.674: 错误/AndroidRuntime(4940): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 12-17 09:19:46.674: 错误/AndroidRuntime(4940): 在 android. app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 12-17 09:19:46.674: 错误/AndroidRuntime(4940): 在 android.app.ActivityThread.access$2300(ActivityThread.java:125) 12-17 09:19 :46.674: 错误/AndroidRuntime(4940): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java: NativeStart.main(Native Method) 12-17 09:19:46.674: ERROR/AndroidRuntime(4940): Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token null 无效;您的活动正在运行吗?12-17 09:19:46.674: ERROR/AndroidRuntime(4940): at android.view.ViewRoot.setView(ViewRoot.java:505) 12-17 09:19:46.674: ERROR/AndroidRuntime(4940): at android. view.WindowManagerImpl.addView(WindowManagerImpl.java:177) 12-17 09:19:46.674: 错误/AndroidRuntime(4940): 在 android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91) 12-17 09:19: 46.674: ERROR/AndroidRuntime(4940): at android.view.Window$LocalWindowManager.addView(Window.java:424) 12-17 09:19:46.674: ERROR/AndroidRuntime(4940): at com.android.internal.policy .impl.PhoneWindow.openPanel(PhoneWindow.java:463) 12-17 09:19:46.674: 错误/AndroidRuntime(4940):

有人对此有解决方案吗?

4

1 回答 1

1

选项菜单用于您想要隐藏的操作。为您希望始终可访问的操作添加按钮到您的布局。

选项菜单确实不是为您想要它做的事情而设计的。因此,如果您以某种方式解决当前问题,您的 QA(或用户)很快就会找到其他问题供您解决。

于 2011-12-17T14:46:51.153 回答