0

我有以下类型的应用程序

  • 从提要中拉低数据价格
  • 处理它们并将它们放入我的自定义适配器中
  • 在 ListView 中显示价格(所以我调用 setAdapter)。
  • 现在最后阶段是以 5 秒的间隔无限重复此操作。

所以我有 AsyncTask 来处理数据下载和 onPostExecute 我更新适配器并显示。

但是我怎样才能以 5 秒的间隔循环整个活动呢?

我是否需要创建一个调用此异步任务的线程并在线程中使用 5 秒睡眠的循环?

谢谢 !!

4

2 回答 2

0

您可以使用下载数据的TimerTask类及其scheduleAtFixedRate()方法,然后使用视图的方法更新您的界面,post()从而完全避免 AsyncTask。有更多方法可以做到这一点,我应该知道,因为你想每 5 秒下载一次

问题可能是当数据下载失败或挂起超过 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 回答