babeuloula Posté(e) le 11 avril 2013 Partager Posté(e) le 11 avril 2013 Bonjour, Je dois développer une application pour une société et j'ai un petit soucis. La dite société me donnée un flux XML avec la liste des villes (limité à 20), et à chaque fois que je tape un caractère je fais appel à ce fichier XML qui prend en paramètre les caractères. Mon soucis est que si l'on tape vite, il envoi une requête à chaque fois et cela fait ramer le téléphone. Je voudrais donc savoir s'il est possible de faire une pause avant l'envoi de la requête ou détecter que la personne n'a pas tapé de caractère pendant plus d'une seconde par exemple et là envoyer la requête. Avant que vous ne posiez la question, il m'est impossible de dévoiler les sources du codes, je peux simplement vous dire que la requête se fait via une AsyncTask. Si vous avez des questions posez les quand même, car même si je ne peux mettre du code je peux répondre par oui ou par non. Alors des idées ? Merci d'avance à tous ceux qui pourront m'aider Lien vers le commentaire Partager sur d’autres sites More sharing options...
coyotedef Posté(e) le 11 avril 2013 Partager Posté(e) le 11 avril 2013 Encapsule ta requête dans un thread et chaque nouvelle entrée dans ton champs, stop le thread en cours pour le relancer avec les nouvelles données. Lien vers le commentaire Partager sur d’autres sites More sharing options...
babeuloula Posté(e) le 12 avril 2013 Auteur Partager Posté(e) le 12 avril 2013 Merci, j'ai essayé avec un : autoUpdate = new Timer(); autoUpdate.schedule(new TimerTask() { @Override public void run() { runOnUiThread(new Runnable() { public void run() { .... } }); } }, 0, 500); Et cela fonctionne. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.