我已經實現了ImageButton
基於3個條件而變化的圖像,條件之一是設置如下:的ImageButton根據if條件
if (Local().equals(Remote)) {
ib.setImageResource(R.drawable.sync_green);
} else {
ib.setImageResource(R.drawable.sync_red);
}
這工作,但幾秒鐘後,應用程序崩潰與以下日誌:
06-20 11:58:27.734: E/AndroidRuntime(2278): FATAL EXCEPTION: Thread-160
06-20 11:58:27.734: E/AndroidRuntime(2278): Process: com.twostarii.asyncdownload, PID: 2278
06-20 11:58:27.734: E/AndroidRuntime(2278): android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
06-20 11:58:27.734: E/AndroidRuntime(2278): at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:6247)
06-20 11:58:27.734: E/AndroidRuntime(2278): at android.view.ViewRootImpl.invalidateChildInParent(ViewRootImpl.java:902)
06-20 11:58:27.734: E/AndroidRuntime(2278): at android.view.ViewGroup.invalidateChild(ViewGroup.java:4637)
06-20 11:58:27.734: E/AndroidRuntime(2278): at android.view.View.invalidateInternal(View.java:11690)
06-20 11:58:27.734: E/AndroidRuntime(2278): at android.view.View.invalidate(View.java:11654)
06-20 11:58:27.734: E/AndroidRuntime(2278): at android.view.View.invalidate(View.java:11638)
06-20 11:58:27.734: E/AndroidRuntime(2278): at android.widget.ImageView.setImageResource(ImageView.java:402)
06-20 11:58:27.734: E/AndroidRuntime(2278): at com.twostarii.asyncdownload.AndroidDownloadFileByProgressBarActivity$1.run(AndroidDownloadFileByProgressBarActivity.java:172)
這裏後您的完整代碼 –
你不能改變的繪製,因爲你不是在主UI線程作爲logcat的上這裏說明 - 創建一個視圖可以分層原來的線程觸及其觀點。 –