안드로이드 개발 질문/답변
(글 수 45,052)
현재 다른 부분의 경우 아래 소스 처럼 프로그래스를 표시하는데.. 물론 문제가 없습니다.
근데 ListView에 Adapter를 세팅해서 사용하는 경우 getView가 다 불릴때까지 로딩 표시를 하고 싶은데
어떻게 해야할지 모르겠습니다.
예를 들면 첫번째 getView 시작 시점 정도에 로딩을 시작하고
다 끝나면 dismiss를 하고 싶은데
일반적으론 시간이 걸리는 작업을 run() 함수에 넣고 수행을 하는데 아답터는 run()안에 넣을수가 없어서..
여기서 막혔습니다. 즉 getView를 연속으로 호출해주는 루틴 전체를 쓰레드로 돌리면서 progressDialog를 돌리고
싶습니다.
일반적으론 시간이 걸리는 작업을 run() 함수에 넣고 수행을 하는데 아답터는 run()안에 넣을수가 없어서..
여기서 막혔습니다. 즉 getView를 연속으로 호출해주는 루틴 전체를 쓰레드로 돌리면서 progressDialog를 돌리고
싶습니다.
좋은 방법 아시는분??? 알려주세요.ㅠㅠ
--- 기존에 쓰던 방법 ---
loagindDialog = ProgressDialog.show(this, "로딩중",
"Loding...please wait;", true, false);
Log.e("KBO","setContentView(R.layout.score_layout)");
Thread thread = new Thread(new Runnable() {
public void run(){
//시간이 걸리는 일....
handler.sendEmptyMessage(0);
}
});
thread.start();
private Handler handler = new Handler() {
public void handleMessage(Message msg) {
loagindDialog.dismiss();
//View 갱신..
}
final 붙여서 선언해보세요