2011-10-29 11 views
0

AsyncTaskでProgressDialogを実行しています。 バッファの長さが大きいとすぐに、10000と言うと、ProgressDialogからのメッセージが変わると思います。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の第二の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、 返信用のThxは、コードを変更しましたが(編集済み)、メッセージは変更されていないようです。 少し見ていただけますか? – Lars

+0

あなたはループのために何をしていたのか、何もしていないことは確かです。私はそれを削除し、あなたのwhileループにpublishProgressコールを追加しました。見てみましょう。 – SBerg413

+0

魅力的な作品です! Thx – Lars

関連する問題