所以这是如何:
我有一个带TimerTask的AsyncTask。每隔15秒运行一次AsyncTask。 AsyncTask获取XML数据并将其放入动态创建的TextView中,动态创建TableRow。
onPostExecute我创建了所有的tableRow和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毫秒来获取timerTask所以再次启动?
感谢您的帮助!
答案 0 :(得分: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并重新创建新的,从而“更新”它们