0

ダイアログをテーマにしたアクティビティで機能する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);
}
4

2 に答える 2

3

オーバーライドする必要があります

    @Override
 public void onConfigurationChanged(Configuration newConfig) {
    // TODO Auto-generated method stub
    super.onConfigurationChanged(newConfig);
 }

ただし、これを行うには、Activity レベルのタグをマニフェスト ファイルに追加して、自分で処理する構成変更を指定する必要があります。

     android:configChanges=["mcc", "mnc", "locale",
                             "touchscreen", "keyboard", "keyboardHidden",
                             "navigation", "orientation", "screenLayout",
                             "fontScale", "uiMode"]

onConfigurationChanged で状態を保存し、onResume でリロードします

于 2011-05-20T17:11:08.340 に答える
0

これは非常に簡単な修正で終わりました。android:configChanges="orientation"AndroidManifest のアクティビティに行を追加する必要がありました。

于 2011-06-14T03:30:42.597 に答える