Thread.sleep() 问题
- Java code
try { Thread.sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } mTextView.setText("正在检测网络1..."); try { Thread.sleep(3000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } mTextView.setText(statusTextView.getText()+"正在检测网络2...");问:为什么mTextView不会先显示1,再显示2,而是直接就显示2去了.
按照逻辑应该是停顿1秒后就显示第一个内容,再3秒就第2个内容才对啊.
除学java,请指点指点,谢谢。
[解决办法]
我已经说了两次操作都是运行在UI线程的,同一个线程中代码的执行顺序是从上到下,
sleep 1000ms后就更改了第一次 然后紧跟着又sleep,再改第二次,
最后才会把界面展示出来,所以你第一眼看到的就是第2次的结果。
[解决办法]
[解决办法]
LS的都说的比较有道理,另外一点就是activity的生命周期中,create方法只是在启动一个activtiy的时候调用,真正显示是在start方法里面。也就是说,当调用完start方法后就会显示屏幕。。resume方法是用户能活的屏幕焦点的时候调用的。所以你的代码如果放在resume方法里面,就会有效果的。!!!!