Utiliser asynctask dans un fragment
-
28-10-2019 - |
Question
J'ai un asynctask dans mon fragment. Chaque fois que j'obtiens ce fragment, il charge toutes les données depuis le début mais c'est du gaspillage pour moi. Je veux donc qu'il ne se charge qu'une seule fois. Comment puis-je résoudre ce problème?
La solution
Vous pouvez le mettre dans la méthode onCreate ou onActivityCreated.
Plus d'informations sur le cycle de vie des fragments: Fragments .
Autres conseils
Où dans votre code souhaitez-vous charger vos données initiales?Le chargez-vous initialement à partir de l'activité des parents?Où que ce soit, c'est là que vous devez implémenter votre AsyncTask et maintenir la liste des éléments.pas dans Fragment.À partir de là, il vous suffit de faire ce qui suit dans votre fragment:
public class Android extends Fragment{
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
/** Grab your initial data **/
setListAdapter(new ArrayAdapter<String>(context, layout, <your data>);
}
}