2011-08-02 16 views
-3

ループがいつでもdoinbackground() {}が実行されているときに、テキストビューを更新したいと考えています。私は私が私のonProgressUpdate()方法に入ることができないんだけど、バックグラウンドで実行されているループのカウンターでAndroidでasync.processを使用してテキストビューのテキストを更新するにはどうすればよいですか?

protectedBooleandoInBackground(String...args) 
{ 
    startManagingCursor(cursor); 
    if (cursor.moveToFirst()) 
    { 
     do { 
      publishProgress(); 
      } 
     while(cursor.moveToNext()); 
    } 
    else { 
    } 

    try 
     { 
     if (writer!=null) 
      writer.close(); 
     } 
    catch(IOExceptione) 
    { 
     Log.w("Test",e.toString()); 
    } 
    end loop 
    return null; 
} 


protected void onProgressUpdate(String...values) 
{ 
    Log.i("test..","ramjit"); 
} 

を私のテキストビューを更新します。それでは、どのループが直接AsyncTaskページからdoinbackground();

+0

コードが何をしているのか、できていないのかを明確にすることができます。 – huntsfromshadow

+0

実際にはonProgressUpdate(String ... values)メソッドを実行することができません... –

+0

とそれを更新するようにテキストを設定する方法は? –

答えて

1

上で実行されているアップデートのTextView - あなたが任意の値に沿って渡していないようhttp://developer.android.com/reference/android/os/AsyncTask.html

あなたpublishProgressは動作しないことがあります。 publisherProgress(stringHere)を呼び出してみてください

次に、onProgressUpdateでvalues配列のデータを使用してください。 onProgressUpdateはUIスレッド上で実行されるため、通常のようにテキストビューを更新するだけで安全です。

+0

onProgressUpdate()でカーソルカウントを取得するためにpublisherProgress(stringHere)に渡されるものは何ですか? –

+0

あなたのコードとロジックに依存します。必要な情報をonProgressUpdatedに渡すと、ユーザーに知らせることができます。 – huntsfromshadow

+0

私はonProgressUpdate()の中にテキストを設定できますか? textview.settext( "some thing")を意味し、doinbackground()メソッドのdo/whileループを一致して更新しますか? –

関連する問題