хорошо, мое предположение из вашего заявления выглядит так, как будто вы пытаетесь загрузить. фрагмент в деятельности и не хотите видеть панель инструментов, а также панели вкладок! хорошо, подход, который вы используете, является правильным! использование видимости GONE - способ сделать это, я думаю, то же самое, но проблема заключается в размещении кода! вот как вы должны это сделать!
в вашем контейнере, где вы пытаетесь загрузить фрагмент после выполнения
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar); // Setting/replace toolbar as the ActionBar
TabLayout tabLayout = (TabLayout)findViewById(R.id.tabs);
tabLayout.addTab(tabLayout.newTab().setText(getResources().getText(R.string.tab0)));
tabLayout.addTab(tabLayout.newTab().setText(getResources().getText(R.string.tab1)));
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
вот что вам нужно сделать! просто, когда ваш фрагментTransaction передает фрагмент в контейнер после этой фиксации, вы можете сделать это следующим образом
FragmentManager mFragManager = getSupportFragmentManager();
FragmentTransaction mFragTranscation = mFragManager.startTransaction();
mFragTranscation.add(R.id.containerId,yourFragObject());
mFragTransaction.commit();
//after that you can do the visibility GONE MAGIC
toolbar.setVisibility(View.GONE);
tabLayout.setVisibility(View.GONE);
Вы пытались скрыть часть дизайна Деятельности из фрагмента, если хотите, чтобы это произошло следующим образом, с помощью функции ONACTIVITYCREATED (), но также должен быть способ доступа к представлениям контейнера. во фрагменте, который можно сделать этим методом.
но приведенный выше код поможет, если вы хотите, чтобы дизайн заголовка действия был добавлен при открытии фрагмента! счастливое кодирование
для дальнейшего, если вы хотите, чтобы что-то возвращалось, что было скрыто, вы можете использовать функцию OnBackPressed! делаю это для вас! например, если вы хотите увидеть, что когда основной фрагмент вступает в действие, а TOOLBAR и т. д. должны быть возвращены, вы должны переопределить OnBackPressendMethod и там вы можете проверить, какой фрагмент в настоящее время загружается обратно из стека, и если это «Required One», то просто используйте VISIBLITY (VIEW.VISIBLE) для тех, кому вы хотите вернуться на экран!
переопределить в MainFragment
@Override
public void onBackPressed() {
//here you can call the things back if the frag required is loaded
}
// попробуйте этот способ добавить фрагмент и добавить его имя в стек
private void replaceFragment (Fragment fragment){
String backStateName = fragment.getClass().getName();
FragmentManager manager = getSupportFragmentManager();
boolean fragmentPopped = manager.popBackStackImmediate (backStateName, 0);
if (!fragmentPopped){ //fragment not in back stack, create it.
FragmentTransaction ft = manager.beginTransaction();
ft.replace(R.id.content_frame, fragment);
ft.addToBackStack(backStateName);
ft.commit();
}
}
таким образом, вы можете сделать это для получения дополнительной информации, проверьте эту ветку здесь STACK_THREAD