while(i<5){
int len=input.read(bytes); //读入图像字节流
Bitmap bm=BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
myImageView.setImageBitmap(bm);
Thread.sleep(1000);
output.write(1);
i++;
}请问这段代码有什么问题,我想用ImageView连续显示多张图片,达到动画的效果,但是无论循环多少次,程序总是直到结束才显示图像,这问题纠结了很久了!
int len=input.read(bytes); //读入图像字节流
Bitmap bm=BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
myImageView.setImageBitmap(bm);
Thread.sleep(1000);
output.write(1);
i++;
}请问这段代码有什么问题,我想用ImageView连续显示多张图片,达到动画的效果,但是无论循环多少次,程序总是直到结束才显示图像,这问题纠结了很久了!
Handler uiHandle;
public CRunCount(Handler handle)
{
uiHandle=handle;
}
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
for(int i=0;i<5;i++)
{
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//每隔1秒发送消息 由主线程更新UI
uiHandle.sendMessage(uiHandle.obtainMessage(1, i, 0));
}
}
}
定义消息处理 Handler handle=new Handler()
{
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
if(msg.what==1)
{ //这里更新
myImageView.setImageBitmap(bm[msg.arg1]);
}
else super.handleMessage(msg);
}
};
调用 new CRunCount(handle).start();
你只能开多子线程,然后子线程和主线程用handler进行通信,这样才可以的!
http://blog.csdn.net/xiaominghimi/archive/2010/12/26/6099194.aspx