CBA*_*110 6 android android-menu android-actionbar
我试图找到一个答案,但没有运气.我有一个片段,有一个名为'menu_roi_result_calc'的菜单项.每次屏幕旋转时,都会创建一个新菜单项.代码如下所示:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_roi_result_calc, menu);
return true;
}
Run Code Online (Sandbox Code Playgroud)
然而,在几次屏幕旋转后,这就是我得到的:

我感觉这是因为每次旋转都会重新创建菜单项,因此每次旋转时都会添加一个新项目.我如何让它停下来?如何检查项目是否存在并防止再次重新创建项目?任何代码示例将不胜感激.
在添加项目之前,必须清除菜单对象.我遇到了同样的问题,这是我找到的最佳解决方案.
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
menu.clear();
inflater.inflate(R.menu.menu_roi_result_calc, menu);
super.onCreateOptionsMenu(menu, inflater);
}
Run Code Online (Sandbox Code Playgroud)
我发现了问题所在.我没有重复使用原始标记的片段.我所要做的就是确保检查savedInstanceState并检查是否已经创建了标记片段......如果是这样,则重用相同的片段而不是创建新片段.
| 归档时间: |
|
| 查看次数: |
1341 次 |
| 最近记录: |