마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

로딩바 사용시 작업마다 실행되는 건가요??

+1 추천
소스가 이해가 안되서.. oncreate문에 저렇게 작성하면

작업이 길어질때 로딩바가 출력되는건가요??

 

import android.app.Activity;

import android.app.ProgressDialog;

import android.os.AsyncTask;

import android.os.Bundle;

 

public class ProgressDialogActivity extends Activity {

 

    @Override

    protected void onCreate(Bundle savedInstanceState) {

 

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_progress_dialog);

 

        CheckTypesTask task = new CheckTypesTask();

        task.execute();

    }

 

    private class CheckTypesTask extends AsyncTask<Void, Void, Void> {

         

        ProgressDialog asyncDialog = new ProgressDialog(

                ProgressDialogActivity.this);

 

        @Override

        protected void onPreExecute() {

            asyncDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);

            asyncDialog.setMessage("로딩중입니다..");

             

            // show dialog

            asyncDialog.show();

            super.onPreExecute();

        }

 

        @Override

        protected Void doInBackground(Void... arg0) {

            try {

                for (int i = 0; i < 5; i++) {

                    //asyncDialog.setProgress(i * 30);

                    Thread.sleep(500);

                }

            } catch (InterruptedException e) {

                e.printStackTrace();

            }

            return null;

        }

 

        @Override

        protected void onPostExecute(Void result) {

            asyncDialog.dismiss();

            super.onPostExecute(result);

        }

    }

}
코코쉬림프 (290 포인트) 님이 2016년 11월 19일 질문

1개의 답변

0 추천
 
채택된 답변

작업이 길어지는거와 상관 없이 그냥 task 시작하자마자 다이얼로그 띄우도록 되어 있네요.

onPreExecute() 함수는 Task 시작할때 동작하는 함수입니다.

Development Guy (70,570 포인트) 님이 2016년 11월 21일 답변
코코쉬림프님이 2016년 12월 7일 채택됨
...