Async tâche pour afficher une AlertDialog
Depuis quelques jours, je n'ai pas été en mesure de résoudre un problème avec ma boîte de dialogue. Je suis en cours d'exécution d'un thread pour afficher la boîte de dialogue pour 5000ms et le retirer. et je suis en train de montrer un toast (le"SUCCÈS"). Le problème est que je suis la boîte de dialogue pour la deuxième fois également. Je suis nouveau sur le développement android et j'ai besoin de résoudre ce avec Async Tâche, de sorte que je peux retarder le deuxième thread et afficher une boîte de dialogue d'alerte.builder avec un positif bouton au lieu de pain grillé. Je goggled beaucoup, mais j'ai confondu pour mettre en œuvre cette
Ici je suis envoyer mes informations d'identification du serveur et lors de l'envoi que je vous montre une boîte de dialogue de progression pour 5000ms et je veux avoir un thread séparé pour afficher la boîte de dialogue.builder avec un résultat positif au bouton.( Lorsque l'utilisateur d'obtenir une réponse dans le logcat pour que je doit vérifier la responsecode==1 ou non de le logcat pour montrer le constructeur)
plz quelqu'un m'aider à résoudre avec un peu d'extrait de code si possible.
Merci d'avance.
c'est le code où j'en ai besoin pour mettre en œuvre Async task
Button signin = (Button) findViewById(R.id.regsubmitbtn);
signin.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//showDialog(0);
t = new Thread() {
public void run() {
register();
try {
while (counter < 2) {
showmsg(0);
Thread.sleep(5000);
removeDialog(0);
//Toast.makeText(Register.this, "Registerd", Toast.LENGTH_LONG).show();
showmsg(1);
//toast.show();
Thread.sleep(1000);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
t.start();
}
});
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case 0: {
++counter;
dialog = new ProgressDialog(this);
if (counter == 1) {
dialog.setMessage("Registering...");
}
else {
String resultsRequestSOAP = "";
if (Log.v("TAG", String.valueOf(resultsRequestSOAP)) == 1)
;
{
Context context = getApplicationContext();
CharSequence text = "Registerd";
int duration = Toast.LENGTH_LONG;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}
}
dialog.setIndeterminate(true);
dialog.setCancelable(true);
return dialog;
}
}
return null;
}
public void showmsg(int actionsToBePerformedOnScreen) {
Message msg = new Message();
msg.what = actionsToBePerformedOnScreen;
handler.sendMessage(msg);
}
public Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 0:
showDialog(0);
break;
case 1:
//clear all images in the list
removeDialog(0);
break;
}
};
};
OriginalL'auteur Randroid | 2011-06-27
Vous devez vous connecter pour publier un commentaire.
Facile: afficher la boîte de dialogue
onPreExecute
, register() dansdoInBackground
et cacher le dialogue dansonPostExecute
. Enfin, nenew RegisterTask().execute()
dans votreonclick
.alors que la mise en œuvre de la présente je m obtenir certaines erreurs
Eh bien, vous n'avez pas de poste de la méthode de déclaration, donc j'ai supposé que
register()
était une méthode de votre Activité (que j'ai intitulé "main" juste pour lui donner un nom). DoncRaghuActivity.this.register()
est ce que je voulais dire.N'était-il pas demander spécifiquement sur AlertDialog?
OriginalL'auteur dmon
Pourquoi vous n'utilisez pas Android AsyncTask?
Par exemple:
OriginalL'auteur Dmytro Boichenko