2013-05-18 12 views
17

スレッドは1つですが、次の操作を続行する前に終了するまで待ちます。どうすればいい?スレッドが終了を知っているし、その結果を評価Androidで続行する前にスレッドを待つ

私は何か(ただし、ループ)を入れたいのですが、ここで
  new Thread(

        new Runnable() { 

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

        }).start(); 

(mensaje

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

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

AsyncTaskとonPostExcute、または使用を使用しますスレッドの終了を通知するデリゲートは – Blackbelt

+0

が終了するか、スレッドが終了したときのコールバックリスナを追加します – Blundell

答えて

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が見つかりません。 – CoolMind

+3

次のように、tryスコープにt.join()を入れる必要があります: 'try {t.join(); } catch(InterruptedException e){e.printStackTrace();} } ' – Pioneer

関連する問題