Async tarea para mostrar un AlertDialog

Durante los últimos días, no he podido resolver un problema con mi cuadro de diálogo. Estoy ejecutando un hilo para mostrar el cuadro de diálogo para 5000ms y eliminarlo. Y estoy tratando de mostrar un brindis ("SUCCESS"). El problema es que estoy recibiendo el cuadro de diálogo por segunda vez también. Soy nuevo en el desarrollo de Android y tengo que resolver esto con Async Task para que pueda retrasar el segundo hilo y mostrar una alerta dialog.builder con un botón positivo en lugar de brindis. Me sonreí mucho pero me confundí a implementar esto

Aquí estoy enviando mis credenciales al servidor y mientras que el envío estoy demostrando un cuadro de diálogo del progreso para 5000ms y quiero tener un hilo de rosca separado para demostrar el dialog.builder con un botón positivo. (Cuando el usuario consigue una respuesta en el Logcat para que debo comprobar el responsecode == 1 o no desde el logcat para mostrar el constructor)

Plz alguien me ayude a resolver esto con algún fragmento de código si es posible.

Gracias por adelantado.

Este es el código donde necesito implementar la tarea Async

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; } }; }; 

Fácil: mostrar el diálogo onPreExecute , register () en doInBackground y ocultar el diálogo en onPostExecute . Finalmente, haga new RegisterTask().execute() en su onclick .

  private class RegisterTask extends AsyncTask<Void, Void, Boolean> { private final ProgressDialog dialog = new ProgressDialog(YourClass.this); protected void onPreExecute() { this.dialog.setMessage("Signing in..."); this.dialog.show(); } protected Boolean doInBackground(final Void unused) { return Main.this.register(); //don't interact with the ui! } protected void onPostExecute(final Boolean result) { if (this.dialog.isShowing()) { this.dialog.dismiss(); } if (result.booleanValue()) { //also show register success dialog } } } 

¿Por qué no usa Android AsyncTask ? Por ejemplo:

 public class MyPreloader extends AsyncTask<InputObject, Void, OutputObject>{ private Context context; private ProgressDialog dialog; public MyPreloader(Context context){ this.context = context; } @Override protected void onPreExecute() { dialog = new ProgressDialog(context); dialog.setMessage("Please wait..."); dialog.setIndeterminate(true); dialog.show(); super.onPreExecute(); } @Override protected ResponseBase doInBackground(InputObject... params) { InputObject input = params[0]; //some code for background work } @Override protected void onPostExecute(OutputObject result) { if (dialog.isShowing()) { dialog.dismiss(); } super.onPostExecute(result); } 
  • ¿Qué tipo de constructor es este, comenzando con <T extends Drawable & DrawerToggle>?
  • Sustitución del constructor de GestureDetector obsoleto
  • ¿Qué CursorAdapter tengo que usar?
  • Error de Constructor vacío en DeviceAdminReceiver
  • Construcción de perfiles Sip: Android
  • Demasiado repetitivo, ¿cómo puedo reducir mis constructores de POJO?
  • Dónde crear bitmaps, etc
  • Creación falsa de objeto dentro del método
  • Android no puede resolver la intención del constructor
  • ¿Cuál es la mejor manera de obtener / usar Contexto dentro de AsyncTask?
  • Constructores en Kotlin
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.