您好我试图在每个特定时间更新textview,但它只更新第一个然后强制关闭,这里是代码:
try {
timer = new Timer();
timerTask = new TimerTask() {
@Override
public void run() {
//Download file here and refresh
updateRecSMSCount(count);
}
};
timer.schedule(timerTask,0, 3000);
} catch (IllegalStateException e){
}
void updateRecSMSCount(Integer count)
{
TextView numRecSMS=(TextView)findViewById(R.id.numRecSMS);
numRecSMS.setText(count.toString());
}
有人可以帮忙吗?
答案 0 :(得分:2)
您无法从创建UI的线程以外的其他线程访问UI。计时器任务在不同的线程中运行。您可以在此处找到解决方案:Updating the UI from a Timer
最简单的修复是:
void updateRecSMSCount(Integer count)
{
final TextView numRecSMS=(TextView)findViewById(R.id.numRecSMS);
numRecSMS.post(new Runnable()
{
@Override
public void run()
{
numRecSMS.setText(count.toString());
}
});
}
答案 1 :(得分:1)