J'ai un Activity
avec quatre boutons en bas comme onglets. En appuyant sur n'importe quel bouton, un nouveau Fragment est affiché dans le FrameLayout au-dessus de ces boutons, comme nous le faisons dans TabActivity. Voir mon problème here. Maintenant, je pense que je devrais trouver un moyen de cacher et de montrer ces fragments. Veuillez me dire comment puis-je montrer et cacher un fragment sans le recharger à nouveau. Le but principal de montrer cachant un fragment est de maintenir son état actuel. Dans l'un de mes fragments, j'ai un AsyncTask chaque fois que je passe d'un fragment à l'autre, je l'appelle à nouveau AsynTask.comment masquer un fragment?
Répondre
// pour montrer fragment quand il est caché
FragmentManager fm = getSupportFragmentManager();
fm.beginTransaction()
.show(fragment1)
.commit();
// pour masquer le fragment
FragmentManager fm = getSupportFragmentManager();
fm.beginTransaction()
.hide(fragment1)
.commit();
vous ne pouvez pas passer par une vue comme
4 frameLayout déclare
private FrameLayout fragment1;
private FrameLayout fragment2;
private FrameLayout fragment3;
private FrameLayout fragment4;
et
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.fragment1, Fragment1.newInstance());
ft.replace(R.id.fragment2, Fragment2.newInstance());
ft.replace(R.id.fragment3, Fragment3.newInstance());
ft.replace(R.id.fragment4, Fragment4.newInstance());
ft.commit();
et jouer avec visible ou disparu? comme
fragment1.setVisibility(View.Visible);
fragment2.setVisibility(View.gone);
fragment3.setVisibility(View.gone);
fragment4.setVisibility(View.gone);
et par la manière: fonctionne pour moi -> Activité public class étend ActionBarActivity {
private FrameLayout fragment1;
private FrameLayout fragment2;
private Button bt1;
private Button bt2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.frg_test_frg);
fragment1 = (FrameLayout) findViewById(R.id.fragment1);
fragment2 = (FrameLayout) findViewById(R.id.fragment2);
bt1 = (Button) findViewById(R.id.button);
bt2 = (Button) findViewById(R.id.button2);
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fragment1.setVisibility(View.VISIBLE);
fragment2.setVisibility(View.GONE);
}
});
bt2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
fragment1.setVisibility(View.GONE);
fragment2.setVisibility(View.VISIBLE);
}
});
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.fragment1, new Fragment1());
ft.replace(R.id.fragment2, new Fragment2());
ft.commit();
}
fragments ne sont pas des vues. Ils sont object.setVisiblity n'est pas une manière valide Lire la question liée http://stackoverflow.com/questions/24774631/asynctask-is-re-executing-while-switching-between-fragments – Nepster
oui, mais framelayout sont vue. vous pouvez jouer directement avec cette vue – u53r
je n'ai qu'un frameLayout dans le xml. que je veux remplacer par d'autres comme nous le faisons dans TabActivity. Et remplacez deux travaillent ensemble supprimer et ajouter. Je veux dire REMPLACER == (SUPPRIMER FRAGMENT ACTUEL + AJOUTER UN AUTRE FRAGMENT) – Nepster
- 1. Comment masquer le dialogue de progression d'un autre fragment - Android
- 2. Comment détruire un fragment?
- 3. Comment remplacer un fragment avec un fragment de viewpager
- 4. Ajouter un fragment dans un fragment (fragment imbriqué)
- 5. Masquer Fragment précédent lors de l'ajout d'un nouveau
- 6. fragment: créer différentes vues dans un fragment
- 7. comment masquer un mysqldump?
- 8. Comment démarrer un autre fragment à partir du fragment
- 9. Comment démarrer un fragment/une activité dans Fragment?
- 10. Comment déplacer un fragment à fragment avec le bouton
- 11. Fragment de mappe V2 dans un fragment
- 12. Fragment sur un autre fragment dans ViewPager
- 13. Android lance un fragment dans un fragment de dialogue
- 14. Ajouter un fragment?
- 15. Comment injecter une chaîne dans un fragment HTML
- 16. Comment masquer alpha un SKSpriteNode?
- 17. setContentView dans un fragment
- 18. Créer un fragment imbriqué
- 19. Afficher un fragment de dialogue dans un fragment
- 20. Problème mettant un fragment dans un autre fragment
- 21. Comment instancier une interface dans un fragment?
- 22. Comment définir un tag Fragment par code?
- 23. Comment créer un fragment d'osgi avec Bnd?
- 24. Comment rendre RecycleView cliquable dans un fragment?
- 25. comment créer un fragment dans Android 3.1?
- 26. Comment mettre à jour un fragment ProgressDialog
- 27. Comment trouver un fragment de code similaire?
- 28. Comment utiliser NSURL fileURLWithPath avec un fragment?
- 29. Comment démarrer un fragment après l'entrée SearchView
- 30. Comment faire pivoter un fragment correctement
MERCI POUR LE CODE +10 – Nepster