【发布时间】:2014-09-17 13:11:40
【问题描述】:
我正在尝试将特定字符串中的字母附加到 TextField。这是我到目前为止所尝试的。但没有运气。
这里发生的只是等待 100 毫秒,然后直接显示字符串。
outConsole = (TextView) findViewById(R.id.outconsole);
int i, j;
String fin = "";
final String in = "HELLO!";
i = in.length;
try{
for(j = 0; j < i; j++){
Thread.sleep(100);
fin = fin + in.charAt(j);
outConsole.setText(fin);
}
}catch(Exception e){}
}
我如何做到这一点?
我想要这样的东西,但速度较慢: https://www.youtube.com/watch?v=Ff-eDOGLuYw
【问题讨论】:
-
它不工作。我需要一些帮助。
-
它不起作用的原因是您正忙于在 UI 线程上循环并且不允许它返回到事件循环。不要那样做。在 X 时间内使某事发生的正确方法是警报或处理程序(或第二个线程,但这在这里太过分了)。请参阅@IllegalArgument 的答案,了解如何执行此操作的一个很好的示例,只需记住在处理完字符串后停止向处理程序发布新事件
标签: android string loops append