首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >删除片段之间的前一个onOptionsItemSelected

删除片段之间的前一个onOptionsItemSelected
EN

Stack Overflow用户
提问于 2017-11-13 19:58:00
回答 1查看 96关注 0票数 0

我有一个包含一些操作的工具栏,但当我将片段更改为另一个片段时,这些操作应该会发生变化。

我将setHasOptionsMenu(true);放在需要更改工具栏项操作的每个片段的onCreate中。

片段1 onOptionsItemSelected示例

代码语言:javascript
运行
复制
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()){
        case R.id.borrarlote:
            Toast.makeText(viewRoot.getContext(), "Parametros", Toast.LENGTH_SHORT).show();
            break;
    }
    return super.onOptionsItemSelected(item);
}

只需向我显示一个带有片段名称的Toast,它就可以正确地执行。

现在我切换到片段2,在onCreateonOptionsItemSelected中重复setHasOptions(true)

代码语言:javascript
运行
复制
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()){
        case R.id.borrarlote:
            Toast.makeText(viewRoot.getContext(), "Fragment Inicio", Toast.LENGTH_SHORT).show();
            break;
    }
    return super.onOptionsItemSelected(item);
}

在我的理论中,应用程序会显示一个Toast,说"Fragment Inicio“,但在现实中,它显示一个Toast,说"Parametros”,然后显示另一个说"Fragment Inicio“。

就像选项不会改变一样,只需在每次单击该项目时,将新操作添加到您必须执行的操作列表中。

当我输入一个新的片段时,有什么方法可以清理这些操作吗?

问候

EN

回答 1

Stack Overflow用户

发布于 2017-11-13 20:29:16

我解决了这个问题,为我需要的每个片段创建了一个menu.xml,并在它上面膨胀了菜单。完美工作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47263847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档