Изменить заголовок панели действий с Fragmetn на Activity - PullRequest
0 голосов
/ 06 июля 2019

У меня есть одна функция MainActivity с кнопкой A для перехода к фрагменту A и начальному заголовку, установленному как «Это главный заголовок»

Когда я нажимаю кнопку A, следующий код исполняется

   getSupportActionBar().setTitle("Profile");
            getSupportFragmentManager().beginTransaction().replace(R.id.container,new TrialProfile()).addToBackStack(null).commit();

и теперь заголовок текста изменяется на «Профиль», но проблема в том, что когда я нажимаю кнопку «Назад», заголовок остается тем же.Я хочу, чтобы он изменился на Первоначальный, то есть "Это основное название"

Не могли бы вы помочь мне с этим?

Ответы [ 3 ]

0 голосов
/ 06 июля 2019
(getActivity()).setTitle("Profile");
0 голосов
/ 06 июля 2019

Чтобы изменить заголовок панели действий с фрагмента на действие

Создайте метод в действии, как показано ниже:

public void setTitleActionBar(String title) {
        getSupportActionBar().setTitle(title);
    }

Теперь вы можете вызывать метод во фрагменте и действие для измененияtitle:

In Fragment:

  ((HomeActvitiy) getActivity()).setTitleActionBar("Fragment title");

В Activity вызовите метод перед фрагментом, замените, как показано ниже:

 setTitleActionBar("My Profile");
        getSupportFragmentManager().beginTransaction()
                .replace(R.id.home_container, new MyProfileFragment())
                .commit();

Я надеюсь, что его работа для вас.

0 голосов
/ 06 июля 2019

вызовите это снова для вашей текущей активности в методе oncreate

getSupportActionBar().setTitle("This is Main Title");
...