2013-05-18 23 views
17

Ich habe einen Thread, aber ich möchte warten, bis es fertig ist, bevor Sie mit den nächsten Aktionen fortfahren. Wie könnte ich es tun?Warten Sie auf einen Thread, bevor Sie auf Android fortfahren

  new Thread(

        new Runnable() { 

         @Override 
         public void run() { 
          mensaje = getFilesFromUrl(value); 
         } 

        }).start(); 

hier möchte Ich mag, etwas setzen (aber Schleifen), die weiß, wann Thread beendet und bewerten Sie das Ergebnis (mensaje)

  btnOk.setVisibility(View.VISIBLE); 
      progressBar.setVisibility(View.GONE); 
      lblEstado.setText(mensaje); 

      if(mensaje.equals("Importado")) 
       startActivity(new Intent(ScanUrl.this, MainActivity.class)); 
+5

verwenden, um eine AsyncTask und onPostExcute oder Verwendung Ein Delegat, um die Thread-Exrutierung zu benachrichtigen, wird beendet – Blackbelt

+0

oder einen Callback-Listener hinzufügen, wenn der Thread fertig ist – Blundell

Antwort

33
Thread t = new Thread(new Runnable() { 
         @Override 
         public void run() { 
          mensaje = getFilesFromUrl(value); 
         }}); 

t.start(); // spawn thread 

t.join(); // wait for thread to finish 
+0

@RuchirBaronia, URL wird nicht gefunden. – CoolMind

+3

Sie müssen die t.join() in einen try-Bereich setzen, wie unten: 'try {t.join(); } catch (InterruptedException e) {e.printStackTrace(); } ' – Pioneer

Verwandte Themen