2013-05-18 13 views
17

Mam jeden wątek, ale chciałbym poczekać na jego zakończenie, zanim przejdę do następnej czynności. Jak mogłem to zrobić?Poczekaj na wątek przed kontynuowaniem na Androidzie

  new Thread(

        new Runnable() { 

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

        }).start(); 

tutaj chciałbym umieścić coś (ale pętle), który wie, kiedy wykończenia nici i ocenić wynik (mensaje)

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

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

użytkowania składnika AsyncTask i onPostExcute lub wykorzystanie delegat do powiadomienia o wyłączeniu wątku zakończył się – Blackbelt

+0

lub dodał detektor wywołania zwrotnego, gdy wątek zakończy się – Blundell

Odpowiedz

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, adres URL nie zostanie znaleziony. – CoolMind

+3

Potrzebujesz umieścić t.join() w zasięgu prób, tak jak poniżej: 'try {t.join(); } catch (InterruptedException e) {e.printStackTrace(); } ' – Pioneer

Powiązane problemy