0

次のタイプのアプリケーションがあります

  • フィードからデータ価格を引き下げる
  • それらを処理して、カスタム アダプターに入れます
  • ListView に価格を表示します (そのため、setAdapter を呼び出します)。
  • 最終段階では、おそらく 5 秒間隔でこれを無限に繰り返します。

したがって、データダウンロードを処理するための AsyncTask があり、onPostExecute でアダプターを更新すると表示されます。

しかし、このアクティビティ全体を 5 秒間隔でループするにはどうすればよいでしょうか?

この asynctask を呼び出すスレッドを作成し、そのスレッドで 5 秒スリープのループを使用する必要がありますか?

ありがとう !!

4

2 に答える 2

0

データをダウンロードするTimerTaskクラスとそのメソッドを使用し、その後、ビューのメソッドを使用してインターフェイスを更新して、AsyncTaskをまったく回避することができます。これを行うにはもっと多くの方法があります。5秒ごとにすべてをダウンロードしたいので知っておく必要がありますscheduleAtFixedRate()post()

問題は、データのダウンロードが失敗した場合、または5秒以上ハングした場合の対処方法である可能性があります。

于 2013-02-14T16:23:01.570 に答える
-1
     myTimer = new Timer();

     myTimer.schedule(new TimerTask() {
                     @Override
                     public void run() {
                         TimerMethod();
                     }

                 }, 0, 10000); 
             }


     private void TimerMethod()
         {

             getActivity().runOnUiThread(Timer_Tick);


         } 

         private Runnable Timer_Tick = new Runnable() {
             public void run() {


                 new AsyncTask().execute();

             }
         };
于 2013-02-14T20:34:01.953 に答える