2017-05-05 13 views
3

내 프로젝트 중 하나에서 couchbase의 복제 서비스를 사용하고 있습니다. 비율로 ProgressDialog를 사용하여 복제 진행 상황을 표시하고 싶습니다. 문서로 내가 꾸러미를 사용하여 진행 다이얼로그가 걸림

를 얻을 나는 로그 고양이에 AsyncTask 그래서

@Override 
     protected Void doInBackground(Void... params) { 
//other code 

    double total = push.getCompletedChangesCount() + pull.getCompletedChangesCount(); 
    progressDialog.setMax(total); 
    progressDialog.setProgress(push.getChangesCount() + pull.getChangesCount()); 

//.....end } 

에서이 일을하고 말한다 I/LoginActivity : 복제 진행 = 51029 <이 수
내가/LoginActivity을 변경하고 인격적 : 복제 합계 = 56117 <-이 번호는

으로 변경됩니다. 나는 progressdialog가 0 %에서 멈추고 진도가 보여지지 않는다.
어떻게 해결할 수 있는지 알고 싶습니다.

답변

0

doInBackground은 한 번만 실행되므로 대화 상자에서 업데이트를 얻을 수 없습니다. 대신

사용 AsyncTask를의 onProgressUpdate 방법 :

@Override 
protected void onProgressUpdate(Void... params) { 
    super.onProgressUpdate(values); 
    double total = push.getCompletedChangesCount() + pull.getCompletedChangesCount(); 
    progressDialog.setMax(total); 
    progressDialog.setProgress(push.getChangesCount() + pull.getChangesCount()); 
}