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>

因此,当您单击第一项时,会出现一个 SubMenu。它看起来像一个对话框,但我找不到获得对该对话框的引用的方法。当我旋转设备时,出现泄漏的窗口错误。因此,Android 似乎没有关闭 SubMenu。有没有办法防止这个错误?当然,在重新创建后,由方向更改触发的 SubMenu 会消失。我可以重新打开选项菜单,但不能重新打开子菜单。是否可以模拟单击第一个菜单项?

提前致谢!

顺便说一句,我不想​​通过更改清单来绕过轮换。

4

1 回答 1

0

简单的解决方案是在 App Orientation 更改时防止破坏 Activity 实例。您可以通过在清单中声明以下内容来做到这一点:

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