Как получить список записей фрагмента backstack в android?



0 Answers

Если вы хотите проверить, какой фрагмент видим, и если вы знаете идентификатор представления, где размещен фрагмент, сначала вам нужно добавить ниже в onCreate ()

    getSupportFragmentManager().addOnBackStackChangedListener(new OnBackStackChangedListener() {

  @Override
  public void onBackStackChanged() {
    Fragment f = getSupportFragmentManager().findFragmentById(R.id.content_frame);
    if (f != null){
      updateActionBarTitle(f);
    }

  }
});

private void updateActionBarTitle(Fragment fragment) {
        String fragClassName = fragment.getClass().getName();

        if (fragClassName.equals(FirstFragment.class.getName())) {
            setTitle("Home");
        } else if (fragClassName.equals(SecondFragment.class.getName())) {
            setTitle("Second");
        }
    }

Это приведет к обновлению заголовка панели действий в прослушивателе изменения стека.

Question

Я работаю над приложением, в котором вкладки реализованы с помощью FragmentActivity . Поскольку во всех приложениях требуются закладки, фрагменты широко используются для обеспечения совместимости приложения со всеми версиями android.

Как следствие, я сталкиваюсь с проблемой визуализации того, какие фрагменты присутствуют в задней части. Я уверен, что есть способ получить список фрагментов, присутствующих в backstack . Благодарю.




Related