2011-12-02 60 views
0

我有MainActivity文本視圖(textViewLog)。在這個文本視圖中,我將在程序執行期間打印所有程序結果。我嘗試了處理程序,線程,異步任務......但沒有任何工作正常。或者在程序結束時打印所有的文本; 或者在程序過程中打印的文本(使用Handler),但是程序直到結束纔會工作。如何在程序執行過程中更新文本視圖中的文本?

有沒有人有任何想法如何做到這一點?

+0

顯示的你正在嘗試一些代碼時盡力讓每個人都更清楚你想要做什麼。 –

+0

如果你的意思是如何改變另一個線程中的文本而不是UI線程,請看'runOnUiThread()'。 – Dalmas

回答

2

如果你想在某些點在程序更改文本,您可以通過編程執行過程中新的文本,每當你想更新它設置爲您的TextView與textViewLog.setText(yourString);

+0

是的,我可以製作textViewLog.setText(myString),但是我在程序結束時看到了這個結果,因爲在一個主線程中,Activity屏幕上的所有更新都會在onCreate()方法執行後更新。 –

0

使用textView.setText("ur value")。如果我沒有理解你,那麼可能我看到你的代碼....

0
public class MainActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     textViewLog = (TextView)findViewById(R.id.textViewLog); 

     LoadSetupPlist(); 
     LoadMenuPlist(); 

     getConnectionToDataBase(); 
     startApp(); 
    } 
} 

一切都發生在這4個功能: LoadSetupPlist(); LoadMenuPlist(); getConnectionToDataBase(); startApp();

在開始的時候我有這個 -

image http://i43.tinypic.com/2qd0pif.png

然後當我按下「是」 - 我的應用程序下載,從Web服務的XML文件,然後從XML文件中的數據更新數據庫。那時我會在屏幕上打印結果...

如果我打印結果使

public void printOnScreen() { 
    MainActivity.textViewLog.setTextSize(12); 
    MainActivity.textViewLog.setBackgroundColor(Color.WHITE); 
    MainActivity.textViewLog.setTextColor(Color.YELLOW); 
    MainActivity.textViewLog.setText(MainActivity.textViewLog.getText() +  
            System.getProperty("line.separator") + 
            "-> sending_done1"); 
} 

那我成屏幕上的所有結果,但是當數據庫更新完成 (對不起,黃色) -

image2 http://i43.tinypic.com/124j33p.png

我將打印這個結果,數據庫更新

相關問題