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,请指点指点,谢谢。
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,请指点指点,谢谢。
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
//setContentView(layoutResID);
//初始化操作
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(3000);
//延时后向handler发送消息
handler.sendEmptyMessage(0);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
}
private Handler handler=new Handler(){ @Override
public void dispatchMessage(Message msg) {
//接到消息后更新UI
mTextView.setText("更改文字");
}
};
这个我用handler.postDelayed作到延时了。
只是想用这个方式实现一下,但就不知道为什么用sleep就会出现这样的问题。
sleep 1000ms后就更改了第一次 然后紧跟着又sleep,再改第二次,
最后才会把界面展示出来,所以你第一眼看到的就是第2次的结果。