如何在程序执行期间更新文本视图中的文本?

时间:2011-12-02 19:40:32

标签: android multithreading

我有MainActivity文本视图(textViewLog)。在此文本视图中,我将在程序执行期间打印所有程序结果。我尝试了处理程序,线程,异步任务......但没有任何工作正常。

或者在节目结尾打印的所有文字; 或者在程序过程中打印的文本(使用Handler),但程序直到最后都不起作用。

有没有人有任何想法如何做到这一点?

3 个答案:

答案 0 :(得分:2)

如果要在程序中的某些位置更改文本,可以使用textViewLog.setText(yourString);

以编程方式在执行期间将新文本设置为TextView

答案 1 :(得分:0)

每当您想要更新时,请使用textView.setText("ur value")。如果我不理解你,那么我能看到你的代码......

答案 2 :(得分: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

我将在数据库更新期间打印此结果