读书人

这个有关问题为啥可以

发布时间: 2012-09-11 10:49:03 作者: rapoo

这个问题为啥可以?

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();

}

}


以上纯属个人猜测!
[解决办法]
探讨
Java code


final ImageView iv = new ImageView(this);

new Thread(new Runnable() {

@Override
public void run() {
iv.setImageResour……

[解决办法]
写的速度过快的话。直接将上一次的内容覆盖。。。

读书人网 >Android

热点推荐