我有一个小部件,列表视图中包含两个文本(为了允许长文本滚动)。在应用程序运行的那一刻,当我单击它工作的小部件中的“刷新小部件”按钮时。但是,当应用程序未运行时,小部件的标题正在更新,而列表视图未更新。这是我的代码MyAppWidget.javapublic class MyAppWidget extends AppWidgetProvider { private static final String RELOAD_CLICKED = "MyAppWidget#btnReload"; @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { // There may be multiple widgets active, so update all of them for (int appWidgetId : appWidgetIds) { updateAppWidget(context, appWidgetManager, appWidgetId, getClass()); } } @Override public void onReceive(Context context, Intent intent) { super.onReceive(context, intent); if (RELOAD_CLICKED.equals(intent.getAction())) { AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); int appWidgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID); updateAppWidget(context, appWidgetManager, appWidgetId, getClass()); } } static void updateAppWidget(Context context, AppWidgetManager appWidgetManager, int appWidgetId, Class<?> cls) { WidgetViewModel viewModel = DbManager.getInstance(context).getRandomWidget(); }
1 回答
不负相思意
TA贡献1777条经验 获得超10个赞
通过删除广播并仅保存调用中updateAppWidget()
和调用后的appWidgetManager.updateAppWidget
最后一个数据集appWidgetManager.notifyAppWidgetViewDataChanged
来更新列表来修复。在工厂中,只需从文件中加载最后一个数据集。
添加回答
举报
0/150
提交
取消