2011-10-29 3 views
0

ProyncDialog를 AsyncTask에서 실행하고 있습니다. 버퍼의 길이가 커지면 ProgressDialog의 메시지가 10000이됩니다.AsyncTask의 ProgressDialog 메시지 변경

누군가 제발 나를 도와 줄 수 있습니까? 미리 감사드립니다.

@Override 
    protected void onProgressUpdate(Integer... progUpdate) { 
     if (progUpdate[0] >= 10000){ 
      progress.setMessage("Informatie wordt opgehaald...."); 
     } 
    } 

버퍼는 AsyncTask를 doInBackGround에서 생성됩니다

try { 
     HttpResponse response = httpClient.execute(request); 

     System.out.println("Response: " + response.getEntity().getContentLength()); 

     /******* READ CONTENT IN BUFFER *******/ 
     InputStream inputStreamActivity = response.getEntity().getContent(); 

     BufferedReader reader = new BufferedReader(new InputStreamReader(inputStreamActivity)); 
     StringBuilder sb = new StringBuilder(); 
     String line = null; 
     int count = sb.length(); 

     while ((line = reader.readLine()) != null) { 
      sb.append(line); 
      publishProgress(sb.length()); 

     } 

     /******* CLOSE CONNECTION AND STREAM *******/ 
     System.out.println(sb); 
     inputStreamActivity.close(); 
     kpn = sb.toString(); 

     httpClient.getConnectionManager().shutdown(); 
    } 

답변

5

당신의 대화의 메시지를 변경하려면, 당신은 AsyncTask를의 onProgressUpdate 방법을 사용하여 귀하의 AsyncTask를의 2 paramater를 정의 할 수 있습니다 정수. onProgressUpdate는 같이 보일 것입니다 :

protected void onProgressUpdate(Integer... progUpdate) { 
    if (progUpdate[0] >= 10000){ // change the 10000 to whatever 
     progress.setMessage("The new message"); 
    } 
} 

이 전화를 걸려면, 당신은 AsyncTask를 당신의 doInBackground 방법에 이러한 라인을 업데이트 할 수 있습니다 :

while ((line = reader.readLine()) != null) { 
     sb.append(line); 
     publishProgress(sb.length()); 
    } 

을 그리고 그 Runnable를 제거하기. 너는 필요 없어. AsyncTask에 대한 공식 안드로이드 문서를 보시려면 여기를 클릭하십시오 : http://developer.android.com/reference/android/os/AsyncTask.html 그 페이지에 대한 좋은 예가 있습니다.

+0

안녕하세요 SBerg413, 답장을 보내 주신 데 (수정 된) 코드가 변경되었지만 메시지가 변경되지 않은 것 같습니다. 짧은 모양을 주시겠습니까? – Lars

+0

당신은 그 for 루프로 무엇을하고 있었는지 확실하지 않았지만 아무 것도하지 않았습니다. 내가 그것을 제거하고 while 루프에 publishProgress 호출을 추가했습니다. 보세요. – SBerg413

+0

매력처럼 작동합니다! Thx – Lars