setImageResource的执行优先级低

时间:2012-07-14 16:05:56

标签: android handler

我有以下代码:

final ImageButton bgreen = (ImageButton) findViewById(R.id.imageButton1c);
bgreen.setImageResource(R.drawable.xgp);
gHandler.postDelayed(greenRunnable, delay); // this reverses the above two lines in a second

但是,我发现图像更改实际上并不会发生,直到所有其他命令在完成之前和之后添加,然后它有一个空队列并且正在等待一个onclick监听器。为什么是这样?有没有更好的办法?它结束了这个和撤消这种情况顺序发生,即使我使用了一个处理程序/ runnable组合(我认为是一个完全不同的线程?)来延迟撤消。

我可以使用不同的方法,例如:

ButtonName.setImageResource(R.drawable.ImageName);  

可能表现更好吗?

我需要将点击作为演示(即没有用户交互),这就是问题所在。即我不能简单地用XML来做这件事,例如:

<item android:state_pressed="true"
android:drawable="@drawable/login_selected" /> <!-- pressed -->

1 个答案:

答案 0 :(得分:0)

这似乎与使用sleep命令有关。巧妙地使用Handler / Runnable组合有助于此。