2012-06-07 3 views
0

Так вот как это:Начиная AsyncTask в onPostExecute

У меня есть AsyncTask с TimerTask. Каждые 15 секунд запускается AsyncTask. AsyncTask получает данные XML и помещает их в динамически созданный TextView, содержащийся в динамическом создании TableRow.

onPostExecute Я создаю все свои таблицыRow и TextView, а затем, чтобы их не было двойным вместо обновления, я удаляю представления tableRow.

protected void onPostExecute(Document result) 
{ 
if(TableLayout.getChildAt(1) == null) 
{ 
    //All my code to show tableRow and TextView 
else 
{ 
    int u = 20; 
    while(tl.getChildAt(1) != null) 
    { 
     if(tl.getChildAt(u) != null) 
      tl.removeViewAt(u); 
     u--; 
    } 
} 

Так что все работает отлично. Я просто хочу знать, есть ли способ запросить мой TimerTask перезапустить сразу, а не ждать x millis sec для timerTask, чтобы начать снова?

Благодарим за помощь!

+0

Где это ждет тех, _x millis_? –

+0

in my onCreate() i call time.schedule (новый MyTimerTask(), 0, 15000); –

ответ

0

Так что да, я узнал, как это сделать. Я отправлю сообщение, если кто-то захочет сделать что-то подобное.

protected void onPostExecute(Document result) 
    { 

     if(tl.getChildAt(1) == null) 
     { 
      //do some code    
     } 
     else 
     { 
      int u = 20; 
      while(tl.getChildAt(1) != null) 
      { 
       if(tl.getChildAt(u) != null) 
        tl.removeViewAt(u); 
       u--; 
       } 
       //do same code over again as above. 

       } 
      } 
     } 

Это удалит tableRows и воссоздавать новые, таким образом, «обновление» их

Смежные вопросы