Я предпочел использовать интерфейс для этого.
public interface ActionbarHost {
void showToolbar(boolean showToolbar);
}
заставить вашу деятельность реализовать ActionbarHost
и переопределить showToolbar как.
@Override
public void showToolbar(boolean showToolbar) {
if (getSupportActionBar() != null) {
if (showToolbar) {
getSupportActionBar().show();
} else {
getSupportActionBar().hide();
}
}
}
Теперь из вашего фрагмента инициализировать с onAttach()
private ActionbarHost actionbarHost;
@Override
public void onAttach(Context context) {
super.onAttach(context);
if (context instanceof ActionbarHost) {
actionbarHost = (ActionbarHost) context;
}
}
теперь просто если вы хотите скрыть вызов панели действий actionbarHost.showToolbar(false);
от фрагмента.
if (actionbarHost != null) {
actionbarHost.showToolbar(false);
}
Также я бы предложил снова показать его в onDetach()
@Override
public void onDetach() {
super.onDetach();
if (actionbarHost != null) {
actionbarHost.showToolbar(true);
}
}