onGetViewFactory chamado apenas uma vez para vários widgets

Eu tenho um appwidget que usaListView. Eu criei uma classe que se estendeRemoteViewsService:

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

No meuAppWidgetProvider, Eu chamo o seguinte método para cada instância do widget (para cadaappWidgetId):

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

O construtor doAppWidgetListFactory

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

Agora o problema é que ofillInList método é chamado com a mesma freqüência que há instâncias do widget, mas oonGetViewFactory método só é chamado uma vez. Isso resulta em todos os widgets mostrando os mesmos dados.

Como posso consertar isso?

questionAnswers(2)

yourAnswerToTheQuestion