Навигация вверх по фрагменту, построенному поверх другого фрагмента - PullRequest
0 голосов
/ 31 января 2019

У меня есть FragmentX, который я должен обеспечить навигацию вверх, поэтому я использую код ниже.Но проблема в том, что этот фрагмент находится не поверх действия Activity непосредственно, а другого фрагмента (который затем находится поверх действия). Если я применяю приведенный ниже код, на самом деле обеспечивается навигация к фрагменту X, но также и к фрагменту.ниже (и другой фрагмент вкладки ниже) я хочу предоставить навигацию вверх только к FragmentX.

Я знаю, что это не очень хорошая архитектура, но я не могу изменить

       val view = container?.inflate(R.layout.fragment_entries_list)
       val actionBar = activity.supportActionBar

       actionBar?.apply {
           elevation = .0f
           setDisplayHomeAsUpEnabled(true)
       }



1 Ответ

0 голосов
/ 02 февраля 2019

Если вы просто хотите, чтобы setDisplayHomeAsUpEnabled (true) только для FragmentX, а не для других фрагментов деятельности, одним из способов было бы setDisplayHomeAsUpEnabled (false) для метода onDestroy () FragmentX или метода userVisibleHint.

public class FragmentX extends Fragment {
    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if ( !isVisibleToUser ) {
              //setting it as false
              setDisplayHomeAsUpEnabled(false);
        }

    }
}
...