2012-07-14 19 views
0

執行優先級我有下面的代碼:低的setImageResource

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監聽器。爲什麼是這樣?有沒有更好的辦法?它最終會解決這個問題,即使我使用了一個處理程序/可運行的組合(我認爲它是一個完全不同的線程)來延遲這個撤銷。

我可以像使用不同的方法:

ButtonName.setImageResource(R.drawable.ImageName); 

,可能有更好的表現?

我需要做點擊作爲演示(即沒有用戶交互),這就是問題所在。即我不能簡單地在XML中執行此操作,例如:

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

回答

0

這似乎與使用睡眠命令有關。巧妙地使用Handler/Runnable組合有助於在這裏。