我正在运行后端进程(AsyncTask)。我有兴趣打印出System.out.println();到屏幕(类似于Eclipse中的控制台)的信息,以便用户被告知后面正在运行哪些计算。
我希望实现的是看到屏幕上正在运行的文本 - 就像当前焦点活动中的对话框一样。
有没有人有这方面的经验?
谢谢,D。
答案 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。