Random Posté(e) 17 août 2010 Share Posté(e) 17 août 2010 Bonjour, J'ai deux questions qui n'ont rien a voir l'une avec l'autre mais je les pose en meme temps pour gagner de la place :p 1°) J'ai beau chercher, je ne vois pas comment faire subsister un ContextMenu quand l'utilisateur tourne l'écran (puisque l'Activity est détruite puis recrée bla bla, pas moyen de garder le ContextMenu ouvert), du coup je garde ma solution actuelle qui est une AlertDialog "static" (donc pas destroy quand l'ecran est tourné) 2°) Comment créer une AsyncTask dans le onCreate d'une Activity ? Ca a toujours planté chez moi et je me suis resigné a faire une requete en Syncrone mais c'est moche l'attente sur un ecran freeze x) Edit (pas tout a fait) : j'ai trouvé la réponse a ma premiere question avant de finir d'ecrire ce post (j'avais pas bien cherché en fait :p) et je la poste au cas ou ca puisse aider quelqu'un : il suffit de mettre android:configChanges="orientation" pour empecher Android de detruire toute l'activity quand l'ecran est tourné. Pour ma part c'est une belle découverte, ca va me permettre de virer les "static" de mes éléments graphiques ^^ Bref je cherche toujours une réponse a la deuxieme question, a savoir : est il possible d'utiliser un AsyncTask a l'initialisation d'une Activity (dans le onCreate) ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Profete162 Posté(e) 17 août 2010 Share Posté(e) 17 août 2010 Code en brut, je te laisse tripatouiller: Dans le onCreate: new DownloadTrafficTask().execute(); et un peu plus bas: private class DownloadTrafficTask extends AsyncTask { @Override protected Long doInBackground(URL... params) { int result=updateData(); return result; } protected void onPostExecute(Long result) { switch(result) ... } } } Le seul hic, c'est que j'ai du mal à comprendre les 3 parametres: AsyncTask Lien vers le commentaire Partager sur d’autres sites More sharing options...
Random Posté(e) 17 août 2010 Auteur Share Posté(e) 17 août 2010 My bad, mon probleme venait du fait que j'initialise une ListView dans le AsyncTask et ca lui plait pas (si je lui assigne pas d'adapter avant l'AsyncTask c'est la que ca plante) Et pour les parametres y'a des descriptions dans le constructeur (Params, Progress, Result) mais j'avoue que je vois pas non plus trop comment utiliser Progress, tout c'que j'sais c'est que Params definit le type d'argument que t'envoies dans le .execute (donc que tu recuperes dans l'Ellipse de doInBackground(URL... params) (pas forcément URL hein, mais dans le bout de code que t'as donné (AsyncTask) ca correspond)) et que Result (troisieme parametre) est envoyé par doInBackground a onPostExecute Du coup probleme résolu =) Ah et merci pour ta réponse ^^ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Profete162 Posté(e) 17 août 2010 Share Posté(e) 17 août 2010 Yop effectivement.. 2 questions résolues en peu de temps! Belle performance :-D Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.