首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Thread.sleep() 有关问题

2012-04-14 
Thread.sleep() 问题Java codetry {Thread.sleep(1000)} catch (InterruptedException e) {// TODO Auto-

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次的结果。
[解决办法]
探讨

我已经说了两次操作都是运行在UI线程的,同一个线程中代码的执行顺序是从上到下,
sleep 1000ms后就更改了第一次 然后紧跟着又sleep,再改第二次,
最后才会把界面展示出来,所以你第一眼看到的就是第2次的结果。

[解决办法]
LS的都说的比较有道理,另外一点就是activity的生命周期中,create方法只是在启动一个activtiy的时候调用,真正显示是在start方法里面。也就是说,当调用完start方法后就会显示屏幕。。resume方法是用户能活的屏幕焦点的时候调用的。所以你的代码如果放在resume方法里面,就会有效果的。!!!!

热点排行