Android 显示片段时在actionbar中显示按钮

Android 显示片段时在actionbar中显示按钮,android,android-actionbar,navigation-drawer,Android,Android Actionbar,Navigation Drawer,我有一个导航抽屉,我只想在显示精确片段时在actionbar中显示一个按钮。我如何才能做到这一点?试试: if(YourFragment.this.isVisible) { //Fragment is shown myBtn.setVisible(true); //show button invalidateOptionsMenu(); //refresh actionbar } else{ // Fragment is not shown } 这基本上是一种活动。

我有一个导航抽屉,我只想在显示精确片段时在actionbar中显示一个按钮。我如何才能做到这一点?

试试:

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

这基本上是一种活动。在你的片段中:

在OnCreate call SethasOptions菜单中; 在OnCreateOptions菜单中为菜单充气 选择项目时,系统将调用OnOptions ItemSelected
有关更多信息,请参阅上的说明。

只需按照以下简单步骤进行尝试

在活动中创建一个函数,使该特定按钮 可见的或隐藏的。 转到要在其上显示菜单按钮的子片段 在步骤1中静态创建的actionbar和call函数。 这一步并不重要,但如果您想要的片段在 已创建viewPager或,但未显示在屏幕上。因为在viewPager中 每次加载3个片段当前片段、上一个片段和下一个片段。 所以在这种情况下,重写onmenusible或onusible和 使用if条件在可见性为true时调用函数。 在您想要的片段中,只需重写以下方法

@Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
}
使用MenuInflater对菜单进行充气,并获得如下菜单项:

MenuItem yourMenuItem = menu.findItem(R.id.your_menu_name);
yourMenuItem.setVisible(true);
默认情况下,在菜单和菜单项xml中,将该菜单项的visiblity设置为false