only the original thread that created a view hierarchy can touch its views
1. Timer를 설정하고 그 안에서 UI를 변경하려고 했더만....
only the original thread that created a view hierarchy can touch its views
라는 Exception이 발생한다... 구글링 해보니...
My god, you must change your UI in main thread but not your new thread , it is android's rule .
라고 한단다... 쩝... 안하던 Thread 까지 해야 겠네... 머... 하라면 해야쥐....
2. 핸들러를 만들고 그 안에서 UI를 변경시키는 함수를 호출했다. 호출된 쓰레드에선 단지 메시지 전달만 한다.
// 핸들러 만들기
final Handler handler = new Handler() {
public void handleMessage(Message msg) {
getXML(btn); // 여기에서 메인 UI를 변화 시킨다.
}
};
// 타이머 사용
myTask = new TimerTask() {
public void run() {
Log.d("myTask","run()");
Message msg = handler.obtainMessage();
handler.sendMessage(msg);
//getXML(btn); // 쓰레드 내에서 메인 UI를 변화시킬 수 없음. 그러므로 핸들러를 이용해야 함
}
};
timer = new Timer();
timer.schedule(myTask, 5000,5000);