onGetViewFactory wywołał tylko raz dla wielu widżetów

Mam aplikację, która używaListView. Stworzyłem klasę, która się rozszerzaRemoteViewsService:

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

W moimAppWidgetProvider, Wywołuję następującą metodę dla każdej instancji widgetu (dla każdegoappWidgetId):

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);
}

KonstruktorAppWidgetListFactory

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);
}

Teraz problem polega na tym, żefillInList metoda jest wywoływana tak często, jak istnieją instancje widgetu, aleonGetViewFactory metoda jest wywoływana tylko raz. Powoduje to, że wszystkie widżety pokazują te same dane.

Jak mogę to naprawić?