为了账号安全,请及时绑定邮箱和手机立即绑定

列表未更新的应用程序小部件 - 为什么会这样?

列表未更新的应用程序小部件 - 为什么会这样?

潇湘沐 2023-02-23 16:36:51
我有一个小部件,列表视图中包含两个文本(为了允许长文本滚动)。在应用程序运行的那一刻,当我单击它工作的小部件中的“刷新小部件”按钮时。但是,当应用程序未运行时,小部件的标题正在更新,而列表视图未更新。这是我的代码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来更新列表来修复。在工厂中,只需从文件中加载最后一个数据集。

查看完整回答
反对 回复 2023-02-23
  • 1 回答
  • 0 关注
  • 101 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信