UI操作
Android的UI操作并不是線程安全的,UI操作必須在UI線程中執行.
在非UI線程中更新UI的結果就是carsh,提示
Only the original thread that created a view hierarchy
can touch its views
runOnUiThread
Android提供了runOnUiThread接口用于更新Ui,
在需要更新Ui時,建立一個Runable對象傳遞給runOnUiThread
就能夠安全的更新Ui
示例代碼
截取部分代碼:
在需要更新listview時
public void update() {
mAdapter.addPeer(listArray[i]); //增加listview内容
runOnUiThread(new Runnable() {
@Override
public void run() {
mAdapter.notifyDataSetChanged(); //Ui線程中更新listview
}
});
}