我有一個小部件,列表視圖中包含兩個文本(為了允許長文本滾動)。在應用程序運行的那一刻,當我單擊它工作的小部件中的“刷新小部件”按鈕時。但是,當應用程序未運行時,小部件的標題正在更新,而列表視圖未更新。這是我的代碼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
提交
取消