显示片段时,在操作栏中显示按钮

时间:2015-04-15 08:48:22

标签: android android-actionbar navigation-drawer

我有一个导航抽屉,我只想在显示精确的片段时在操作栏中显示一个按钮。我怎么能这样做?

4 个答案:

答案 0 :(得分:0)

尝试:

if(YourFragment.this.isVisible) { //Fragment is shown
    myBtn.setVisible(true);  //show button
    invalidateOptionsMenu();  //refresh actionbar
}
else{
    // Fragment is not shown
}

答案 1 :(得分:0)

它基本上与活动一样。在你的片段中:

  • OnCreate致电setHasOptionsMenu(true);
  • OnCreateOptionsMenu
  • 中为您的菜单充气
  • 系统在选择项目时调用onOptionsItemSelected

有关详情,请参阅Fragment Guide上的说明。

答案 2 :(得分:0)

只需按照这个简单的步骤进行尝试。

  1. 在生成该特定按钮的活动中创建一个函数 可见或隐藏。
  2. 转到要显示菜单按钮的子片段 静态地在步骤1中创建的操作栏和调用函数。
  3. 此步骤并不重要,但如果您想要的片段在 viewPager或已创建但不在屏幕上。因为在viewPager中 一次加载3个碎片当前的一个,前一个和下一个碎片。 所以在这种情况下,重写onMenuVisible()或onUserVisible()和 使用if条件调用函数on visibility true。

答案 3 :(得分:0)

在您想要的Fragment override以下方法

@Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
}

inflate菜单使用MenuInflater并获取如下菜单项,

MenuItem yourMenuItem = menu.findItem(R.id.your_menu_name);
yourMenuItem.setVisible(true);

默认情况下,您在menu和菜单项xml中将menuitem visiblity设为false