Fragmentos de Android – findFragmentByTag devuelve siempre null

He echado un vistazo y encontrado un par de preguntas con un tema similar, pero nada que ayudó en mi caso. Estoy tratando de acceder a un fragmento activo existente utilizando getSupportFragmentManager (). FindFragmentByTag (TAG) , pero siempre devuelve null . Las respuestas a preguntas similares sugieren que se tarda un tiempo en ejecutar el commit, por lo que llamar a findFragmentByTag devolverá null si se llama demasiado pronto. He intentado dos cosas:

  • Add getSupportFragmentManager (). ExecutePendingTransactions ()
    Inmediatamente después de la confirmación, pero aún así obtener nulo .
  • Agregó un botón … presionando esto después de que se creó la actividad, el fragmento registrado y la vista mostrada deberían dejar al sistema suficiente tiempo para comprometerse. Pero sigo siendo nulo .

Aquí está mi actividad:

public class MainActivity extends ActionBarActivity { private static final String F_SETTINGS = "f_settings"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn = (Button) findViewById(R.id.btn); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { debug(); } }); if (savedInstanceState == null) { FSettings newFragment = new FSettings(); FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.replace(R.id.container, newFragment); ft.addToBackStack(F_SETTINGS); ft.commit(); // getSupportFragmentManager().executePendingTransactions(); //// Activating this did not make any difference... } debug(); } private void debug() { String txt = "null"; Fragment frag = getSupportFragmentManager().findFragmentByTag(F_SETTINGS); if (frag != null) { txt = frag.toString(); } Log.i("Testing", txt); } 

}

¿Qué estoy haciendo mal aquí? Saludos, Max

En su código que no han mencionado la etiqueta en el método de reemplazo Así,
Utilice esta estructura de reemplazar el método de fragmento

 ft.replace(R.id.container, newFragment,"fragment_tag_String"); 

Consulte este enlace para obtener más información. Reemplaza el fragmento por el nombre de la etiqueta

  • Android utiliza la biblioteca de soporte para admitir SearchView
  • NavigationView setNavigationItemSelectedListener esta API está marcada como interna a la biblioteca de soporte y no se debe tener acceso desde las aplicaciones
  • Android KitKat: android.view.InflateException: Error al inflar la clase android.support.design.widget.NavigationView
  • Diferencia entre android-support-v7-appcompat y android-support-v4
  • No se pudo resolver: com.android.support:customtabs:
  • AnimatedVectorDrawable en la biblioteca de soporte y animación de "pathData"
  • Soporte de transición de fragmentos 25.1.0 con Recyclerview
  • NullPointerException: con ActionBar.setDisplayHomeAsUpEnabled (boolean) 'en una referencia de objeto nulo
  • Cómo hacer deslizar para eliminar cardview en android utilizando la biblioteca de soporte
  • Fragmento de la transición estándar sin animar
  • Cómo usar setImageTintList () en la API de Android <21
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.