J'ai une activité qui instancie quelques fragments:Comment exécuter à nouveau la méthode onActivityCreated d'un fragment?
List<Fragment> fragments = new ArrayList<Fragment>();
fragments.add(Fragment.instantiate(this, HomeFragment.class.getName()));
fragments.add(Fragment.instantiate(this, BorrowedFragment.class.getName()));
fragments.add(Fragment.instantiate(this, LentFragment.class.getName()));
fragments.add(Fragment.instantiate(this, PeopleFragment.class.getName()));
Ces fragments sont liés à un ViewPager. Chaque fragment exécute une instruction SELECT et montre le contenu sous forme de liste à l'utilisateur.
Le problème est que dans le HomeFragment, j'ai un bouton qui, lorsqu'il est cliqué, montre à l'utilisateur un formulaire, afin qu'il puisse ajouter des informations à cette table. Lorsque l'utilisateur ajoute les informations, je termine() l'activité et le HomeFragment s'affiche à nouveau. Quand je swype à la BorrowFragment rien n'est montré là. Je dois faire un swype à PeopleFragment (le dernier de la liste) et revenir à BorrowedFragment. Seulement alors, l'information est affichée.
La seule chose que je fais au moment où l'information est inséré est:
Button btDone = (Button) findViewById(R.id.buttonDone);
btDone.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(ck1.isChecked())
isIOwe = true;
else
isIOwe = false;
insertRecord();
Toast.makeText(getApplicationContext(), "Record added", Toast.LENGTH_SHORT).show();
/*FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.add(Fragment.instantiate(ctx, PeopleFragment.class.getName()), "test");
ft.commit();*/
finish();
}
});
Je me demandais s'il y a quelque chose que je devrais faire avec le FragmentTransaction, pour être en mesure de redémarrer le Lifecyle du fragments.
Une aide?
Merci, Felipe
Salut Bram. J'ai essayé d'avoir le code sur getView, mais cela n'a pas fonctionné. De plus, je n'ai pas trouvé d'auditeur pour le ViewPager qui pourrait m'aider à y parvenir, malheureusement! Merci pour l'aide –