簡體   English   中英

旋轉android設備時如何保持菜單項組打開

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM