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

Android 如何在程序执行期间更新文本视图中的文本?,android,multithreading,Android,Multithreading,我在MainActivity文本视图(textViewLog)中有。在这个文本视图中,我将在程序执行期间打印所有程序结果。我尝试了处理程序、线程和异步任务。。。但一切都不正常 或在节目结束时打印的所有文本; 或在程序过程中打印的文本(使用处理程序),但程序直到结束才工作 有人知道如何做到这一点吗?如果您想在程序中的某些点更改文本,您可以在执行过程中使用textViewLog.setText(您的字符串)以编程方式将新文本设置到您的TextView在需要更新时使用textView.setText(

我在MainActivity文本视图(textViewLog)中有。在这个文本视图中,我将在程序执行期间打印所有程序结果。我尝试了处理程序、线程和异步任务。。。但一切都不正常

或在节目结束时打印的所有文本; 或在程序过程中打印的文本(使用处理程序),但程序直到结束才工作


有人知道如何做到这一点吗?

如果您想在程序中的某些点更改文本,您可以在执行过程中使用
textViewLog.setText(您的字符串)以编程方式将新文本设置到您的TextView

在需要更新时使用
textView.setText(“ur值”)
。如果我不明白你的意思,那么我可以看看你的代码吗

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(); getConnectionDatabase(); startApp()

一开始我有这个-

然后,当我按下“是”键时,我的应用程序从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");
}
然后我变成了屏幕上的所有结果,但当数据库更新完成时 (对不起,黄色)—


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

显示一些您正试图执行的代码,以便让每个人都更好地了解您正在尝试执行的操作。如果您指的是如何从另一个线程而不是UI线程更改文本,请查看
runOnUiThread()
。是的,我可以制作textViewLog.setText(myString),但我在程序末尾看到了这个结果,因为在一个主线程中,活动屏幕上的所有更新都将在onCreate()方法执行后更新。