首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

这个有关问题为啥可以

2012-09-11 
这个问题为啥可以?Java codefinal ImageView iv new ImageView(this)new Thread(new Runnable() {@Over

这个问题为啥可以?

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……

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

热点排行