2016-05-20 7 views
0

を使用して動作していませんプログレスバーは、私がプログレスバーを作成していると私はプログレスバーが80まで実行することにしたいが、私のプログレスバーありえないが、私は問題は、私はここrogressbar</p> <p>を実行するために、ハンドラとスレッドを使用していますいただきました!知ってはいけない応答ハンドラ

progressbar = (ProgressBar) findViewById(R.id.progressBar); 



     final Thread thread = new Thread(new Runnable() { 
      @Override 
      public void run() { 


       for(int i = 0; i<=80; i++){ 
        try { 
         Thread.sleep(1000); 
        } catch (InterruptedException e) { 
         e.printStackTrace(); 
         Message message = new Message(); 
         message.arg1 = i; 
         handler.sendMessage(message); 
        } 
       } 

      } 
     }); 
     thread.run(); 
      handler = new Handler(){ 
       @Override 
       public void handleMessage(Message msg) { 
        super.handleMessage(msg); 
        int value = msg.arg1; 

        progressbar.setProgress(value); 

       } 
      }; 



    } 


<RelativeLayout 
    android:id="@+id/relative" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <ProgressBar 

    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
     android:id="@+id/progressBar" 

    style="?android:attr/progressBarStyleHorizontal" 
     android:max="100" 
    xmlns:android="http://schemas.android.com/apk/res/android" /> 
    </RelativeLayout> 
+0

を試してみてください。私のコードはありますか? 'postDelayed()'を参照してください –

+0

'thread.run()'の代わりに 'thread.start()'を使います。 'run'を呼び出すと、' run'を呼び出すスレッドと同じスレッド上で実行されます。 'start'は' run'を自分のスレッドで呼び出す結果になります – 0xDEADC0DE

+0

私はthread.start()を試しましたが動作しません – bipin

答えて

0

は、あなたがのためにスレッドを必要とするもの

MainActivity.this.runOnUiThread(new Runnable(){ 
    public void run(){ 
     for(int i = 0; i<=80; i++){ 
       try { 
        Thread.sleep(1000); 
        progressbar.setProgress(i); 
       } catch (InterruptedException e) { 
        e.printStackTrace(); 

       } 
      } 
    } 
}); 
関連する問題

 関連する問題