Android中通過其他線程更新主線程UI
前面一篇文章ATAAW.COM介紹了在Android中通過Handler來更新UI線程,做界面更新操作,實現了每個1000毫秒自動更新一次UI,本文中我們來介紹另一種更新UI的操作,通過其他線程來更新主線程的UI。
我們上次提到,Android中是無法通過其他線程來更新主線程的UI的,那么是不是與我們這個文章標題有沖突呢?其實不然,因為我們所說的其他線程是基于UI自身的。
private class NewThread implements Runnable{
@Override
public void run() {
while(!Thread.currentThread().interrupted()){
view.postInvalidate();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
注意這里使用的是View.postInvalidate()方法,而在Handler的例子中我們使用的是Invalidate()方法,下面在主UI線程中啟動以上線程。
new Thread(new NewThread()).start();
以上所實現的UI更新跟使用Handler中實現的效果是一樣的。
?
鳳凰涅槃/浴火重生/馬不停蹄/只爭朝夕
???? 隱姓埋名/低調華麗/簡單生活/完美人生
posted on 2010-12-09 11:15 poetguo 閱讀(4209) 評論(0) 編輯 收藏 所屬分類: Android