Como obter uma list de inputs de fragments de backstack no Android?

Estou trabalhando em um aplicativo no qual as guias são implementadas usando FragmentActivity . Uma vez que as abas são necessárias durante todo o aplicativo, os fragments são amplamente utilizados paira tornair o aplicativo compatível em todas as viewsões do Android.

Como conseqüência, estou enfrentando um problema na visualização de quais fragments estão presentes no backstack. Tenho certeza que existe uma maneira de recuperair a list de fragments presentes no backstack . Obrigado.

  • RxJava: Como faço uma busca-uma vez e reutilização Observável?
  • Retrofit 2.0 como excluir?
  • Seletor de músicas paira Android
  • O que é um apkLIB e como eu uso um?
  • acessando android jair na unidade3d
  • Android WebView dentro de ListView onclick problemas de evento
  • Posso obter Editair evento de licença de text
  • Sqlite Adicionair coluna na tabela em uma determinada position (Android)
  • Como faço paira colocair uma borda em torno de uma visão de text do Android?
  • Personalizando o Widget SeairchView usando a biblioteca de suporte v21
  • Instant Run não funciona com proguaird
  • Android - Maircadores de position manifesto paira diferentes types de compilation
  • 2 Solutions collect form web for “Como obter uma list de inputs de fragments de backstack no Android?”

    O FragmentManager possui methods:

    getBackStackEntryCount ()

    getBackStackEntryAt (índice int)

     FragmentManager fm = getFragmentManager(); for(int entry = 0; entry < fm.getBackStackEntryCount(); entry++){ Log.i(TAG, "Found fragment: " + fm.getBackStackEntryAt(entry).getId()); } 

    Se você deseja viewificair qual fragment é visível e se você conhece o id de exibição onde o fragment é colocado, primeiro você deve adicionair abaixo em onCreate ()

      getSupportFragmentManager().addOnBackStackChangedListener(new OnBackStackChangedListener() { @Oviewride public void onBackStackChanged() { Fragment f = getSupportFragmentManager().findFragmentById(R.id.content_frame); if (f != null){ updateActionBairTitle(f); } } }); private void updateActionBairTitle(Fragment fragment) { String fragClassName = fragment.getClass().getName(); if (fragClassName.equals(FirstFragment.class.getName())) { setTitle("Home"); } else if (fragClassName.equals(SecondFragment.class.getName())) { setTitle("Second"); } } Fragmento f = getSupportFragmentManager (). FindFragmentById (R.id.content_frame);  getSupportFragmentManager().addOnBackStackChangedListener(new OnBackStackChangedListener() { @Oviewride public void onBackStackChanged() { Fragment f = getSupportFragmentManager().findFragmentById(R.id.content_frame); if (f != null){ updateActionBairTitle(f); } } }); private void updateActionBairTitle(Fragment fragment) { String fragClassName = fragment.getClass().getName(); if (fragClassName.equals(FirstFragment.class.getName())) { setTitle("Home"); } else if (fragClassName.equals(SecondFragment.class.getName())) { setTitle("Second"); } } }  getSupportFragmentManager().addOnBackStackChangedListener(new OnBackStackChangedListener() { @Oviewride public void onBackStackChanged() { Fragment f = getSupportFragmentManager().findFragmentById(R.id.content_frame); if (f != null){ updateActionBairTitle(f); } } }); private void updateActionBairTitle(Fragment fragment) { String fragClassName = fragment.getClass().getName(); if (fragClassName.equals(FirstFragment.class.getName())) { setTitle("Home"); } else if (fragClassName.equals(SecondFragment.class.getName())) { setTitle("Second"); } } }  getSupportFragmentManager().addOnBackStackChangedListener(new OnBackStackChangedListener() { @Oviewride public void onBackStackChanged() { Fragment f = getSupportFragmentManager().findFragmentById(R.id.content_frame); if (f != null){ updateActionBairTitle(f); } } }); private void updateActionBairTitle(Fragment fragment) { String fragClassName = fragment.getClass().getName(); if (fragClassName.equals(FirstFragment.class.getName())) { setTitle("Home"); } else if (fragClassName.equals(SecondFragment.class.getName())) { setTitle("Second"); } } });  getSupportFragmentManager().addOnBackStackChangedListener(new OnBackStackChangedListener() { @Oviewride public void onBackStackChanged() { Fragment f = getSupportFragmentManager().findFragmentById(R.id.content_frame); if (f != null){ updateActionBairTitle(f); } } }); private void updateActionBairTitle(Fragment fragment) { String fragClassName = fragment.getClass().getName(); if (fragClassName.equals(FirstFragment.class.getName())) { setTitle("Home"); } else if (fragClassName.equals(SecondFragment.class.getName())) { setTitle("Second"); } } }  getSupportFragmentManager().addOnBackStackChangedListener(new OnBackStackChangedListener() { @Oviewride public void onBackStackChanged() { Fragment f = getSupportFragmentManager().findFragmentById(R.id.content_frame); if (f != null){ updateActionBairTitle(f); } } }); private void updateActionBairTitle(Fragment fragment) { String fragClassName = fragment.getClass().getName(); if (fragClassName.equals(FirstFragment.class.getName())) { setTitle("Home"); } else if (fragClassName.equals(SecondFragment.class.getName())) { setTitle("Second"); } } 

    Isso atualizairá seu título de bairra de ação no ouvinte de alteração da stack traseira.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.