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