我是编程新手,我已经为此挣扎了好几天,无法让它工作。延迟更新照片
我有一个循环来执行一些任务。它将在ImageView
中显示该特定任务的图片。因此,它是这样的:
- setImageResource
- 做一些任务
- 等待1秒
- 然后重新启动一切,直到命令结束
- 当所有命令结束时,通过关闭活动呼叫完成()
我试着用runnable和asynctask处理程序,但我无法让它工作。用户界面总是比1秒延迟更新。正如我在命令结束后调用finish(),照片似乎根本不显示。
for(int i=0; i<actions.size(); i++) {
switch((int)actions.get(i)[0]) {
case 0:
ivActionIcon.setImageResource(R.drawable.image);
sleeping=true;
DelayAsyncTask delay=new DelayAsyncTask();
delay.execute();
while(sleeping){};
break;
}
}
finish();
class DelayAsyncTask extends AsyncTask<String, Void, Bitmap> {
@Override
protected Bitmap doInBackground(String... params) {
try {
Thread.sleep(5000);
} catch(Exception e){
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Bitmap bitmap) {
sleeping=false;
}
}
我正在使用变量“睡眠”让主线程等待延迟。
请发布相关的代码和任何logcat错误。 – Sam 2012-04-29 14:38:16