0

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

我希望完成的是看到在屏幕上运行的文本 - 类似于当前焦点活动顶部的对话框。

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

感谢:D。

4

2 回答 2

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 添加到自定义对话框并将其显示给用户。

于 2012-06-11T21:31:27.007 回答
1

我相信您还需要在 UI 线程中更新文本视图。在异步任务中,您调用onProgressUpdate,然后在 UI 线程中执行。否则,您可以使用view.post或使用Handler

于 2012-06-11T21:36:12.163 回答