I'd like for my menu button in my main activity to be open at all times. I've used:
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
openOptionsMenu();
}
which opens the menu when I go to the Activity. However, when I press the menu botton option to go to another activity and press the back button, the menu goes away and requires that I press the "menu" key to get it back. I'd like for the menu to stay open at all times for this particular activity.
I've tried to override the Activity's onBackPressed:
@Override
public void onBackPressed(){
super.onBackPressed();
this.openOptionsMenu();
}
And I've tried adding this.openOptionsMenu in the onCreate. When I do that, my application crashes with the error:
12-17 09:19:46.674: ERROR/AndroidRuntime(4940): FATAL EXCEPTION: main 12-17 09:19:46.674: ERROR/AndroidRuntime(4940): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.cmu.community/com.cmu.community.HomeActivity}: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running? 12-17 09:19:46.674: ERROR/AndroidRuntime(4940): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 12-17 09:19:46.674: ERROR/AndroidRuntime(4940): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 12-17 09:19:46.674: ERROR/AndroidRuntime(4940): at android.app.ActivityThread.access$2300(ActivityThread.java:125) 12-17 09:19:46.674: ERROR/AndroidRuntime(4940): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 12-17 09:19:46.674: ERROR/AndroidRuntime(4940): at android.os.Handler.dispatchMessage(Handler.java:99) 12-17 09:19:46.674: ERROR/AndroidRuntime(4940): at android.os.Looper.loop(Looper.java:123) 12-17 09:19:46.674: ERROR/AndroidRuntime(4940): at android.app.ActivityThread.main(ActivityThread.java:4627) 12-17 09:19:46.674: ERROR/AndroidRuntime(4940): at java.lang.reflect.Method.invokeNative(Native Method) 12-17 09:19:46.674: ERROR/AndroidRuntime(4940): at java.lang.reflect.Method.invoke(Method.java:521) 12-17 09:19:46.674: ERROR/AndroidRuntime(4940): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 12-17 09:19:46.674: ERROR/AndroidRuntime(4940): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 12-17 09:19:46.674: ERROR/AndroidRuntime(4940): at dalvik.system.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 is not valid; is your activity running? 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: ERROR/AndroidRuntime(4940): at 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: ERROR/AndroidRuntime(4940): at com.android.internal.policy.impl.PhoneWindow.openPanel(PhoneWindow.java:378) 12-17 09:19:46.674: ERROR/AndroidRuntime(4940): at android.app.Activity.openOptionsMenu(Activity.java:2330) 12-17 09:19:46.674: ERROR/AndroidRuntime(4940): at com.cmu.community.HomeActivity.onCreate(HomeActivity.java:105) 12-17 09:19:46.674: ERROR/AndroidRuntime(4940): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 12-17 09:19:46.674: ERROR/AndroidRuntime(4940): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 12-17 09:19:46.674: ERROR/AndroidRuntime(4940): ... 11 more
Does anyone have a solution for this?