본문 바로가기

Mobile/Android

android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views

메인 쓰레드가 아닌 곳에서  화면 갱신을 하면서 발생함.
Handler를 만들어서 메인 쓰레드에서 화면 갱신하도록 수정

--------------------------------------
수정 전
run() {
 mAdapter.notifyDataSetChanged();


------------------------------------------
 수정 후
final Handler mHandler = new  Handler() {
 public void handleMessage(Message msg) {
  mAdapter.notifiyDataSetChanged();
 }
}


run() {
 Message msg = mHandler.otainMessage();
 mHandler.sendMessage(msg);

}