안드로이드 개발 질문/답변
(글 수 45,052)
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.add);
// 잡다한 것 생략...
loading_dialog = ProgressDialog.show(this, "", "File List Loading...", true);
createThreadAndDialog();
// 아래의 createThreadAndDialog를 이용하여 Thread를 만들고, Handler를 이용하여 Thread의 동작을 제어
} // Progress Dialog를 사용해서 화면에 dialog 를 노출하고, 시간이 걸리는 처리로직은 thread 안에서 처리하는 방법.
void createThreadAndDialog() {
/* ProgressDialog */
load_thread = new Thread(new Runnable() {
public void run() {
// 시간걸리는 처리
Process(path);
handler.sendEmptyMessage(0);
}
});
load_thread.start();
}
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
loading_dialog.cancel(); // 다이얼로그 삭제
setListAdapter(f_list); // View갱신
load_thread.stop(); // Thread 중지
}
};하단에 loading_dialog.cancel() 이지만 어차피 dismiss와 같은 기능이고, dismiss로 바꿔보았지만 여전히 오류가 뜨네요 ;
더구나 본래는 잘 실행되던건데 갑자기 안되니까 좀 더 이상하구요 ;;
폰도 다시 켜보고 이클립스도 다시 켜보고 했지만 안되네요 ;;
왜이럴까요 ㅠㅠ




load_thread.stop();
이거 안먹을텐데요.... 이래도 스레드 돌아갈텐데요.... 곧 없어질 함수인데다가... 제대로 동작 안하는 함수일겁니다.