这个问题为啥可以?
- Java code
final ImageView iv = new ImageView(this); new Thread(new Runnable() { @Override public void run() { iv.setImageResource(R.drawable.alert_dark_frame); } }).start(); this.setContentView(iv);
不是说只能在UI线程中更新 bitmap么??
[解决办法]
可能是由于执行太快了,当iv.setImageResource(R.drawable.alert_dark_frame);执行的时候,this.setContentView(iv);还未执行完成,导致还没有ContentView的时候,只是改变了iv的值,并未改变界面。
可以在iv.setImageResource(R.drawable.alert_dark_frame);的前面加一段延迟语句可以让setContentView先运行完成就会出错。
synchronized(this)
{
try{
wait(500); //延迟0.5秒
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
以上纯属个人猜测!
[解决办法]
[解决办法]
写的速度过快的话。直接将上一次的内容覆盖。。。