Android fragments - findFragmentByTag renvoie toujours null

J'ai eu un coup d'oeil autour et a trouvé un couple de questions avec un sujet similaire, mais rien de ce qui a aidé dans mon cas.
Je suis en train d'essayer d'accéder à un actif existant fragment à l'aide de getSupportFragmentManager().findFragmentByTag(TAG), mais il renvoie toujours null. Réponses sur des questions similaires ont suggéré qu'il faut du temps pour les engager à être exécuté, afin de l'appelant findFragmentByTag serait de retourner la valeur null si l'appelé trop tôt. J'ai essayé deux choses:

  • ajouter getSupportFragmentManager().executePendingTransactions()
    immédiatement après la livraison, mais encore obtenir null.
  • ajout d'un bouton... en appuyant sur cela, après que l'activité a été créé,
    le fragment enregistré et l'affichage de la vue devrait quitter le
    système de suffisamment de temps pour s'engager. Mais j'ai toujours null.

Voici mon activité:

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);
}

}

Ce que je fais mal?
Cheers,
Max

êtes-vous sûr savedInstanceState est nulle ?
ft.addToBackStack(F_SETTINGS); <--- ce n'est pas les tags de vos morceaux.

OriginalL'auteur maxdownunder | 2013-08-20