/*********************************************************************************************************************/
更新UI采用Handler+Thread,需要发送消息,接受处理消息(在回调方法中处理),比较繁琐。除此之外,还可以使用runOnUiThread方法。
利用Activity.runOnUiThread(Runnable)把更新ui的代码创建在Runnable中,然后在需要更新ui时,把这个Runnable对象传Activity.runOnUiThread(Runnable)。Runnable对像就能在ui程序中被调用。如果当前线程是UI线程,那么行动是立即执行。如果当前线程不是UI线程,操作是发布到事件队列的UI线程。
public final void runOnUiThread(Runnable action) {
if (Thread.currentThread() != mUiThread) {
mHandler.post(action);
} else {
action.run();
}
}
runOnUiThread可以帮助你在线程中执行UI更新操作,我们只需要在线程中写上类似
youractivity. runOnUiThread(new Runnable() {
@Override
public void run() {
// refresh ui 的操作代码
}
});
这里需要注意的是runOnUiThread是Activity中的方法,在线程中我们需要告诉系统是哪个activity调用,所以前面显示的指明了activity。
此博客整理自自己的学习笔记,当初做笔记的时候,内容可能摘抄自某处,但笔记写的时间比较长了,忘记了出处,再次表示