[1]Handler API实现延时5秒后执行run()方法,并且更新UI
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
System.out.println("5秒后出现");
textView.setText("5秒后出现");
}
}, 5000);
[2]Timer和TimerTask实现延时5秒之后执行run()方法,但是更新UI则会报错,需要使用handler 或者 runOnUiThread来实现UI更新。
Timer timer=new Timer();
TimerTask task=new TimerTask() {
@Override
public void run() {
System.out.println("5秒后出现");
textView.setText("5秒后出现");
}
};
timer.schedule(task,5000);
//修改后
Timer timer=new Timer();
TimerTask task=new TimerTask() {
@Override
public void run() {
System.out.println("5秒后出现");
runOnUiThread(new Runnable() {
@Override
public void run() {
textView.setText("5秒后出现");
}
});
}
};
timer.schedule(task,5000);