1

I have an AppWidget with ListView inside it. I want to update ListView after add/remove/update item(s) from Activity class. I have tried these before:

1)

Intent intent = new Intent(this, MyWidgetProvider.class);
intent.setAction("android.appwidget.action.APPWIDGET_UPDATE");
int[] ids = { R.xml.widget_provider };
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, ids);
sendBroadcast(intent);

2)

AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(this);
ComponentName thisWidget = new ComponentName(this, MyWidgetProvider.class);
int[] appWidgetIds = appWidgetManager.getAppWidgetIds(thisWidget);
appWidgetManager.notifyAppWidgetViewDataChanged(appWidgetIds, R.id.list);

3)

int widgetIDs[] = AppWidgetManager.getInstance(getApplication()).getAppWidgetIds(new ComponentName(getApplication(), MyWidgetProvider.class));
for (int id : widgetIDs) {
    AppWidgetManager.getInstance(getApplication()).notifyAppWidgetViewDataChanged(id, R.id.list);
}

and I have no success. Sometimes work, sometimes didn't.

Now my Q is: Is there a way 100% guaranteed to update list view inside an appWidget?

Ali Behzadian Nejad
  • 8,804
  • 8
  • 56
  • 106

0 Answers0