这是我的代码
public void invalidateWidget(boolean invalidateUsingCaches) {
mUpdatingWidget = true;
if (invalidateUsingCaches) {
widget.invalidateUsingCaches();
if (widget.isRefreshRequired()) {
widget.initializeRefreshRequired();
mWidgetUpdateHandler.removeMessages(handlerMessage);
mWidgetUpdateHandler.sendEmptyMessageDelayed(handlerMessage,
handlerDelay);
}
} else {
widget.invalidate(false);
}
refreshImageView();
mUpdatingWidget = false;
}
这条线
mWidgetUpdateHandler.sendEmptyMessageDelayed(handlerMessage,
handlerDelay);
导致 imageview 不会随着 android 版本 2.3 手机上的更改而更新,但适用于较新的 android 版本。
到目前为止,我已经尝试了以下方法:
imageview.invalidate();
- 使用带有处理程序的可运行文件。
activity.runOnUiThread();
请记住,该代码适用于较新的 android 版本。好吧,它应该适用于所有版本,因为代码遵循 Android 指南。
有人知道为什么会发生这种情况吗?解决方案?
MessageQueue在这里有事吗?