当我尝试使用EditText
方法在setText()
中显示文本时,在执行EditText
方法调用之后的函数执行后会显示setText()
视图。为什么?
答案 0 :(得分:1)
setText()
或更新基于窗口小部件的UI的任何内容都不是即时的。 setText()
实际上并未直接设置任何文本。相反,setText()
和kin创建一个包含其请求的消息对象,并将该对象放在消息队列中。主要的应用程序线程(例如,UI线程),当它没有执行你的回调方法,如onCreate()
和onClick()
时,会将消息从这个队列中拉出并处理它们。
答案 1 :(得分:0)
将长时间运行的代码放在单独的线程中,这样它就不会占用调用它的应用程序。只有当你的代码从onCreate和UI线程中执行的任何东西返回时,才会发生对UI的更新。