我已经实现了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的上这里说明 - 创建一个视图可以分层原来的线程触及其观点。 –