对于这么简单的问题,这似乎是一个疯狂的挑战!
- 我有一个 MenuItem,在我的 android 应用程序中有一个 Icon。
- MenuItem 的容器是一个操作栏(appcompat 版本)
- 我有对 ActionBar 的参考
- 用户可以将图标更改为 MenuItem。
- 我使用布尔值来跟踪图标的当前状态(它只能是 2 个图标中的 1 个)
- 当视图从纵向更改为横向(反之亦然)时,它们的活动被破坏,并带走所有变量等。
3 失败的解决方案:
通常,我会通过使用 Bundle 来解决这个问题。但是,Bundle 只接受原语和 parcelables。如何打包 MenuItem(如果有的话)?
另一种方法是在新活动中获取 MenuItem 并使用上面提到的布尔值来确定图标值。但是,如果没有先按下菜单项(即 this.getMenu()),似乎没有办法获取它。
另一种选择是根据布尔值模拟按下 MenuItem。但是,似乎没有办法模拟按下 MenuItem(主要是因为没有办法抓取 MenuItem!)。
当方向改变时,如何在新活动的操作栏上更改 MenuItem 的徽标?