我是接触android和java的全新怪胎。所以,请忍受我。因此,我有以下代码(仅是摘录):-
Thread timer=new Thread();
try{
timer.sleep(2000);
}
catch(InterruptedException e){
e.printStackTrace();
}
finally{
Intent openstartingpoint=new Intent("android.intent.action.START");
startActivity(openstartingpoint);
}
我在eclipse中收到的错误是:-The method sleep() should be accessed in a static way
该应用程序也可以工作。但是,当前活动的文本未显示。我只得到了两秒钟的空白屏幕。
==编辑==
但是,此代码一切正常。谁能告诉我原因?
Thread timer=new Thread(){
public void run(){
try{
sleep(5000);
}
catch(InterruptedException e){
e.printStackTrace();
}
finally{
Intent openstartingpoint=new Intent("android.intent.action.START");
startActivity(openstartingpoint);
}
}
};
timer.start();
这只是警告,因为sleep是一种静态方法,因此应将其称为,
Thread.sleep(200);
这意味着它将使当前线程处于睡眠状态200毫秒,因此,即使您使用对象进行调用,它仍会将当前线程(而非计时器)置于睡眠状态。
在第一种情况下:
说你在主线程中,然后打电话
timer.sleep(200);
它将使主线程(如我所说的当前线程,计时器未启动,当前线程为main)进入睡眠状态。
但是在第二种情况下:您正在创建的新线程(计时器)将进入睡眠状态。那是区别。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句