在AsyncTask的使用等待 [英] Using wait in AsyncTask
本文介绍了在AsyncTask的使用等待的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
使用的的AsyncTask
,我得到 ERROR / AndroidRuntime(24230)等待时等待之前锁定的线程()
。是否有可能使用只为等待的AsyncTask
?怎么样?
感谢
类WaitSplash扩展的AsyncTask<虚空,虚空,虚空> {
保护无效doInBackground(虚空...... PARAMS){
尝试 {
等待(MIN_SPLASH_DURATION);
}赶上(InterruptedException异常E){
// TODO自动生成的catch块
e.printStackTrace();
}
返回null;
}
保护无效onPostExecute(){
waitSplashFinished = TRUE;
成品();
}
}
解决方案
使用<一个href="http://docs.oracle.com/javase/6/docs/api/java/lang/Thread.html#sleep%28long%29">Thread.sleep()而不是等待()
。
when using a wait in an AsyncTask
, I get ERROR/AndroidRuntime(24230): Caused by: java.lang.IllegalMonitorStateException: object not locked by thread before wait()
. Is it possible to use an Asynctask
just for waiting? How?
Thanks
class WaitSplash extends AsyncTask<Void, Void, Void> {
protected Void doInBackground(Void... params) {
try {
wait(MIN_SPLASH_DURATION);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
protected void onPostExecute() {
waitSplashFinished = true;
finished();
}
}
解决方案
Use Thread.sleep() instead of wait()
.
这篇关于在AsyncTask的使用等待的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文