我在片段中包含一个菜单。 但是,当转到我的viewpager中的其他片段(不覆盖菜单)时,即使设置setHasOptionsMenu(false),动作按钮也将保持不变(包含所有动作)。

有谁知道如何禁用其他片段中的操作按钮,或者您需要在每个片段中填充一个空菜单?

提前致谢

这是我的代码(片段):

@Override

    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    super.onCreateOptionsMenu(menu, inflater);
    menu.clear();
    inflater.inflate(R.menu.main, menu);

    }

@Override
public void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setHasOptionsMenu(true);


}

===============>>#1 票数:0

您需要从Fragment onCreateView调用setHasOptionsMenu ,以告知Activity Fragment具有选项菜单。 这样就可以调用onCreateOptionsMenu

 @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View row =  inflater.inflate(R.layout.fragment_main, container, false);

    setHasOptionsMenu(true);
    return row;
}

并且,在onCreateOptionsMenu ,只需清除菜单项

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    menu.clear();
    super.onCreateOptionsMenu(menu, inflater);
}

  ask by David translate from so

未解决问题?本站智能推荐:

1回复

如何在android中的视图分页器的所有片段上显示动画?

我用一个包含三个片段的viewpager开发了一个Android应用程序(一个游戏)。 我有一个带有一些ImageViews的TranslateAnimation,其中显示“轮到您了,您可以玩”。 目前,我的动画仅在一个片段上显示(如果这个单词是英语,则不显示。),如果我更改了片段,动画将继
1回复

FragmentPagerAdapter在第一页上显示所有片段内容

在内存中,我有一个Items列表,每个都有一个标题和一个0..N Chunks列表(存储一些信息)。 我知道我正在内存中正确创建此列表,因为我已将整个结构输出到命令行。 我有一个使用ViewPager显示此数据的活动。 ViewPager的每个页面都是一个Item,它填充了Fragme
1回复

在ViewPager中的所有片段之间同步ScrollView的Scroll位置

所以我有一个带有视图寻呼机的活动,它会膨胀大约7个碎片,每个碎片里面都有一个ScrollView,我想同步所有7个滚动视图的滚动,所以如果用户滚动到碎片3上的一个位置并继续片段5它们应该位于完全相同的位置,滚动视图会使相同的子节点膨胀,因此在所有7个片段中,scrollview的总高度是恒定的。
2回复

一次重新加载ViewPager Android中存在的所有片段

我的活动中有一个包含5个片段的ViewPager,我修复了工具栏上用作过滤器的菜单,单击菜单项后需要更改所有片段的视图, 我以前清除了ViewPager中的所有片段并附加了片段的新实例,这会显示正确的视图,但是在创建新视图时,我曾经在屏幕上显示进度条,但未按我们的设置显示,而是在更改所有视
1回复

在ViewPager中带有片段的AsyncTask

我正在尝试使用AsyncTask和ProgressDialog从Fragment中的服务器加载数据。 这是PageAdapter代码 这是我使用适配器的方式 片段中的代码 我面临的问题是,每次我滑动到片段3时都会执行asyncTask。我只需要将AsyncTask执行一
1回复

使用页面查看器创建页面的所有片段中都显示相同的数据

我有一个在线数据库,其中我为每个页面存储了“标题”。 我正在使用异步任务从服务器下载数据,并且在日志语句中可以看到所有标题字符串都在正确检索。 使用FragmentStatePagerAdapter在MainActivity中创建页面。 我能够成功创建页面,但是我所有的页面都有相同的数据。
1回复

将所有片段加载到ViewPager onCreate上

我对如何执行此操作缺乏了解,并且我所看到的大多数示例似乎都不适合我的情况,或者使我完全困惑。 我的问题:我有4个片段,两个用于数据提交,两个用于数据查看和数据计算。 我的代码能够从最后两个片段提取的唯一方法似乎是从主要FragmentActivity那里获取的。 问题在于,当Activ
2回复

FragmentPagerAdapter仅在所有视图中显示第一个片段

我想在ViewPager中显示片段,但是它只在视图选项卡中显示第一个片段。 唯一显示的片段是getItem(0方法)在位置0返回的片段-该片段显示在后续视图中。 FragmentPagerAdapter: 分段: } ViewPager XML: 列出XML
2回复

选择片段A时如何不在ViewPager上同时启动所有片段

所以我使用ViewPager使我的应用程序更快,而不是为每个布局使用活动 。 问题是,在活动中,您可以在onCreate内编写代码,并且只有在启动活动时它才会启动,对吗? 但是,当您使用fragment和fragmentPagerAdapter并对其使用ViewPager时。
1回复

在ViewPager中具有片段的Lis​​tView

当前,我有一个ViewPager,它具有3个不同的选项卡(对等,同步和共享)。 在Peer片段中,它包含一个带有可单击项的ListView。 OnItemClick我希望打开一个新片段,其中将显示所选项目的详细信息,但是我不确定如何正确实现此功能。 活动: TabPagerAd