onGetViewFactory wird für mehrere Widgets nur einmal aufgerufen

Ich habe ein Appwidget welches benutztListView. Ich habe eine Klasse erstellt, die erweitert wirdRemoteViewsService:

public class AppWidgetService extends RemoteViewsService {
    @Override
    public RemoteViewsFactory onGetViewFactory(Intent intent) {
        return (new AppWidgetListFactory(this.getApplicationContext(), intent));
    }
}

In meinemAppWidgetProviderIch nenne die folgende Methode für jede Instanz des Widgets (für jedeappWidgetId):

private static void fillInList(RemoteViews widget, Context context, int appWidgetId) {
    Intent intent = new Intent(context, AppWidgetService.class);
    intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
    widget.setRemoteAdapter(R.id.appwidget_listview, intent);
}

Der Erbauer derAppWidgetListFactory

public AppWidgetListFactory(Context context, Intent intent) {
    this.context = context;
    appWidgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);

    System.out.println("New TVAPWLF for: " + appWidgetId);
    trains = WidgetData.getInstance().widgetMap.get(appWidgetId);
}

Nun ist das Problem, dass diefillInList Methode wird genauso oft aufgerufen, wie es Instanzen des Widgets gibt, aber dieonGetViewFactory Methode wird nur einmal aufgerufen. Dies führt dazu, dass alle Widgets die gleichen Daten anzeigen.

Wie kann ich das beheben?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage