2012-04-23 5 views

답변

1

, 당신은 매개 변수, 진보의 유형과 결과를 지정할 수 있습니다 : 당신은 진행률 표시 줄을 업데이트 진행 값을 사용하려면

private class MyTask extends AsyncTask<ParamType, ProgressType, ResultType> { ... } 

, 나는 정수를 사용하는 것이 좋습니다 것 그래서 클래스 선언은 다음과 같이 표시됩니다

private class MyTask extends AsyncTask<ParamType, Integer, ResultType> { ... } 

다음 호출이 doInBackground()에서 어딘가해야한다 :

publishProgress(progress_value); // progress_valus is integer 

하고 onProgressUpdate() 회원은 다음과 같이 표시됩니다

protected void onProgressUpdate(Integer... values) { 
    super.onProgressUpdate(values); 
    dialog.setProgress(values[0]); // dialog is the ProgressDialog 
} 
1

onProgressUpdate()을 의미합니까?

원하는 진도 값입니다. 백분율 완료 진행률 막대를 표시하려면 0..100 범위의 정수를 사용할 수 있습니다. 텍스트 메시지를 표시하려면 문자열을 전달하십시오.

백그라운드 작업 중에 특정 값 (정수, 문자열 등)을 보내고 publishProgress()으로 전화하십시오. 이것은 메인 스레드의 onProgressUpdate() 메쏘드로 전달 될 것이고, 원한다면 UI에 값을 표시 할 수 있습니다.

작업의 양과 작업의 진행 정도 (백그라운드 작업이 루프로 실행되는 경우)를 알면 루프의 각 반복마다 진행률을 작업량의 백분율로 게시 할 수 있습니다 할 일이 남아있다.

백그라운드 작업에 여러 작업이 포함되어있는 경우 "데이터로드 중", "보고서 준비 중"등의 메시지를 보내려는 경우가 있습니다.

어떤 값을 보내고 어떻게 계산할지 결정하는 것은 전적으로 귀하에게 달려 있습니다. 당신이 당신의 AsyncTask를 클래스를 만들 때

+0

어떻게 가치와 방법을 전달? . 백그라운드 프로세스의 길이를 커버하기 위해 진행 값을 제어하는 ​​방법은 무엇입니까? – Adham