【发布时间】:2014-12-13 10:39:55
【问题描述】:
我知道我的问题听起来很老,我确实在 SO 上进行了很多搜索,但无法弄清楚如何解决它。
我创建了一个带有刷新按钮的 App Widget,它允许用户从 Internet 加载信息。每当用户单击刷新时,小部件将执行 Asynctask 以下载信息。
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
for (int appWidgetId: appWidgetIds) {
//update app widget
}
}
@Override
public void onReceive(Context context, Intent intent) {
if (REFRESH_LIST.equals(intent.getAction())) {
//Execute AsyncTask to download information from Internet and update widget listview
}
}
小部件工作正常,除非用户在 AsyncTask 仍在后台运行时单击刷新并旋转屏幕,然后该小部件实例的整个小部件设置和数据都会丢失。
所以任何人都遇到过同样的问题,请给我一个手指。谢谢!!
【问题讨论】:
-
玩了一会儿这个小部件,我发现只要RemoteViews不参与AsyncTask(我想在下载信息时显示一个ProgressBar),那么小部件和AsyncTask应该可以正常运行在方向改变了。希望这可以帮助遇到同样问题的人。
标签: android android-asynctask android-widget screen-orientation