Mobile/Android
android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views
oSsonGo
2011. 11. 5. 20:48
메인 쓰레드가 아닌 곳에서 화면 갱신을 하면서 발생함.
Handler를 만들어서 메인 쓰레드에서 화면 갱신하도록 수정
--------------------------------------
수정 전
run() {
mAdapter.notifyDataSetChanged();
}
------------------------------------------
수정 후
final Handler mHandler = new Handler() {
Handler를 만들어서 메인 쓰레드에서 화면 갱신하도록 수정
--------------------------------------
수정 전
run() {
mAdapter.notifyDataSetChanged();
}
------------------------------------------
수정 후
final Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
mAdapter.notifiyDataSetChanged();
}
}
run() {
Message msg = mHandler.otainMessage();
mHandler.sendMessage(msg);
}
mAdapter.notifiyDataSetChanged();
}
}
run() {
Message msg = mHandler.otainMessage();
mHandler.sendMessage(msg);
}