4

Android アプリに問題があります。アクティビティにはオプション メニューがあります。

メニューは次のようになります。

<menu
    xmlns:android="http://schemas.android.com/apk/res/android">
  <item
    android:title="@string/tx_1" 
    android:id="@+id/menu_1"        
    >
    <menu>
      <group android:checkableBehavior="single">
        <item 
          android:title="@string/tx_2" 
          android:id="@+id/menu_2"      
          />
        <item 
          android:title="@string/tx_3" 
          android:id="@+id/menu_3"      
          />
      </group>          
      <item 
        android:title="@string/tx_4" 
        android:id="@+id/menu_4"  
        android:checkable="true"    
        />
      </menu>
    </item>
  <item
    android:title="@string/tx_5"
    android:id="@+id/menu_5"
    />      
</menu>

したがって、最初の項目をクリックするとサブメニューが表示されます。ダイアログのように見えますが、このダイアログへの参照を取得する方法が見つかりません。デバイスを回転させると、リーク ウィンドウ エラーが発生します。そのため、Android が SubMenu を閉じていないようです。このエラーを防ぐ方法はありますか? もちろん、サブメニューは、向きの変更によってトリガーされ、再作成した後に消えます。オプション メニューを再度開くことはできますが、サブメニューを再度開くことはできません。最初のメニュー項目のクリックをシミュレートすることは可能ですか?

前もって感謝します!

ちなみに、マニフェストを変更してローテーションをバイパスしたくありません。

4

1 に答える 1

0

Simple solution would be to prevent destorying Activity instance when App Orientation changes. You can do so by declaring following in your Manifest:

<activity android:configChanges="orientation"
 ... />
于 2012-05-22T06:46:34.943 に答える