旋转时重复的ActionBar按钮

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)

然而,在几次屏幕旋转后,这就是我得到的:

多个操作栏菜单项

我感觉这是因为每次旋转都会重新创建菜单项,因此每次旋转时都会添加一个新项目.我如何让它停下来?如何检查项目是否存在并防止再次重新创建项目?任何代码示例将不胜感激.

Cün*_*eyt 5

在添加项目之前,必须清除菜单对象.我遇到了同样的问题,这是我找到的最佳解决方案.

@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)


CBA*_*110 5

我发现了问题所在.我没有重复使用原始标记的片段.我所要做的就是确保检查savedInstanceState并检查是否已经创建了标记片段......如果是这样,则重用相同的片段而不是创建新片段.