我的 Android 应用程序有问题。该 Activity 有一个选项菜单。
菜单看起来像这样:
<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。有没有办法防止这个错误? 当然,在重新创建后,SubMenu 会消失,由方向更改触发。我可以重新打开选项菜单,但不能重新打开子菜单。是否可以模拟点击第一个菜单项?
提前致谢!
顺便说一句,我不想通过更改 list 来绕过轮换。
最佳答案
简单的解决方案是防止在 App Orientation 更改时破坏 Activity 实例。 您可以通过在 list 中声明以下内容来做到这一点:
<activity android:configChanges="orientation"
... />
关于android - Activity 在打开 SubMenu 时泄漏方向更改窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7309010/