当我使用JavaScript编程时,我使用alert()进行简单的调试。在Delphi中,我更改了表单的标题。在Android中,我正在尝试做类似的事情:
textView.setText("0");
SystemClock.sleep(2000);
// some programming...
textView.setText("1");
SystemClock.sleep(2000);
但我看不到“0”,因为它只刷新功能结束时的屏幕(在按钮的onClick内)。按下按钮后,我看到的只是“1”。在真正的程序中(数字从0到9),我看不到任何数字,它只是关闭程序。我已经读过某个地方,setText会自动调用Invalidate函数(所以不需要调用它)。
我尝试过Toast(而不是setText),但它没有用。我想要比创建弹出窗口/对话框更简单/更快的东西。此外,我不想使用adb,Log或LogCat,因为我在Linux上并且在将手机连接到PC时遇到问题(例如,我可能丢失了电缆)。有什么帮助吗?
答案 0 :(得分:1)
问题是您正在阻止UI线程,并且您的UI更新无法得到处理。不要在UI线程中sleep()
。
该应用会被自动杀死为"没有响应"如果你阻止UI线程5秒钟。
要进行调试,请考虑使用adb连接android.util.Log
,即使您不想连接设备。您也可以在没有电缆的情况下通过TCP / IP连接adb。