Android:如何将正在运行的文本打印到屏幕上

时间:2012-06-11 21:19:53

标签: android dialog android-asynctask

我正在运行后端进程(AsyncTask)。我有兴趣打印出System.out.println();到屏幕(类似于Eclipse中的控制台)的信息,以便用户被告知后面正在运行哪些计算。

我希望实现的是看到屏幕上正在运行的文本 - 就像当前焦点活动中的对话框一样。

有没有人有这方面的经验?

谢谢,D。

2 个答案:

答案 0 :(得分:1)

我认为你不能劫持System.out.print()并将其发送到屏幕上。但是,您可以制作TextView并在准备好时将新文本行发送给它。这样的事情应该有效。

String outputStr = "";

//Whenever you want to add a line to the TextView do it like this:
outputStr += "\n" + [yourNewText];
mTxt.setText(outputStr);

如果你以这种方式添加许多行,那么用户将会看到与eclipse控制台相同的情况。

由于您可以使用TextView执行此操作,因此可以将TextView添加到自定义对话框并将其显示给用户。

答案 1 :(得分:1)

我相信你还需要在UI线程中更新textview。在asynctask中,您调用onProgressUpdate,然后在UI线程中执行。否则,您可以使用view.post,也可以使用Handler