[英]How do I keep a menu item group open when rotating android device
我已经处理了Android清单中的屏幕旋转配置更改,该更改适用于以对话框为主题的活动,但是对于这些菜单组,当我旋转屏幕时,在选择菜单项(在onOptionsItemSelected中)后打开的菜单组仍然关闭。 我可以在onConfigurationChanged中处理这些吗? 或者,还有更好的方法? 我已经附上了打开子菜单的代码。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getGroupId() == R.id.submenu) {
if (item.getItemId() == this.submenu) {
return true;
}
this.value = item.getItemId();
item.setChecked(true);
//do something with value
return true;
}
//...
return super.onOptionsItemSelected(item);
}
您将需要覆盖
@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
}
但是要做到这一点,您必须指定配置更改,您可以通过将标记添加到活动级别的清单文件中来处理自己
android:configChanges=["mcc", "mnc", "locale",
"touchscreen", "keyboard", "keyboardHidden",
"navigation", "orientation", "screenLayout",
"fontScale", "uiMode"]
on onConfigurationChanged保存状态并在onResume上重新加载
最终这是一个非常简单的修复。 我需要在AndroidManifest中的活动中添加android:configChanges="orientation"
行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.