2017-01-23 7 views
0

私はAndroidの世界で全く新しいです&作成方法のヘルプ&を停止するために使用するハンドラインタフェースを追加します。& 10秒ごとにAsynctaskを再起動します。 (画面のタッチイベントの前に)アクティブです。AsyncTaskを開始/停止するためのAndroidハンドラインターフェイス

My AsyncTaskは、2秒ごとに画面の背景色を変更するために使用します。以下のように。 Button.onClickを使用して、後でAsyncTask &を起動してスクリーンタッチイベントを停止します。

public class MyAsynTask extends AsyncTask<Void, Void, Void> { 

    @Override 
    protected Void doInBackground(Void... params) { 
     Runasync = true; 
     while (Runasync) { 
      if (isCancelled()) { 
       break; 
      } 
      try { 

        Thread.sleep(2000); 

      } catch (InterruptedException e) { 
       e.printStackTrace(); 
      } 
      publishProgress(); 
     } 
     return null; 
    } 


    @Override 
    protected void onProgressUpdate(Void... values) { 
     ChangeBackgroudColor(); //Calling Method to change the background color. 
    } 
} 

答えて

0

Timer & TimerTaskは、10秒間隔で作成できます。

Handlerをメインスレッドに作成します。ケースと既存のAsynctaskをキャンセルして、ここに新しいasynctaskを開始 -

enter image description here

メッセージスイッチを扱うにSTART_ASYNC_TASKメッセージのための機能を実装します。

enter image description here

UIスレッドにメッセージを投稿するTimerTaskをにmHandler.post()メソッドを使用します。

アクティビティのオーバーライドで

関連する問題