2011-08-02 30 views
-3

我想更新我的文本視圖,當循環處於doinbackground() {}運行。我想更新與在後臺如何使用Android中的async.process更新textview文本?

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"); 
} 

我不能進入我的onProgressUpdate()方法運行循環的計數器我的文本視圖。因此,如何在環路上doinbackground();

+0

那麼你能澄清一下代碼在幹什麼,不幹什麼,如果你看到任何錯誤? – huntsfromshadow

+0

實際上無法運行onProgressUpdate(String ... values)方法... –

+0

以及如何設置文本以使其更新? –

回答

1

運行直接從網頁的AsyncTask更新的TextView - http://developer.android.com/reference/android/os/AsyncTask.html

你publishProgress可能不工作,你不沿着任何值傳遞。 嘗試調用publisherProgress(stringHere)

然後在onProgressUpdate中使用values數組中的數據。由於onProgressUpdate在UI線程上運行,因此只需更新文本視圖就可以了。

+0

什麼應該通過publisherProgress(stringHere)通過獲取do /而光標計數onProgressUpdate()? –

+0

這取決於你的代碼和邏輯。你傳遞你需要的任何信息,所以在onProgressUpdated你可以通知用戶。 – huntsfromshadow

+0

我可以在onProgressUpdate()中設置文本嗎?意思是textview.settext(「some thing」),它會更新doinbackground()方法中的do/while循環嗎? –

相關問題