2017-08-31 2 views
0

Ich habe ein Widget, das auf TextView enthält. Von MainaActivity Ich versuche, Widget-Daten zu aktualisieren, da mehr Daten aus dem Hauptaktivität hinzugefügt I Widget wollenTextansicht in Widget von App-Aktivität in Xamarin Android aktualisieren?

class TodoWidget : AppWidgetProvider 
{ 
.............. 

    private void SetTextViewText(RemoteViews widgetView) 
    { 
     // widgetView.SetTextViewText(Resource.Id.widgetMedium, new TodoDBR().GetAllRecordsForWidget()); 
     widgetView.SetTextViewText(Resource.Id.widgetSmall, new TodoDBR().GetAllRecordsForWidget()); 
    } 

In Haupttätigkeit zu aktualisieren, nachdem Daten hinzufügen Ich versuche Methode aufrufen Widgets zu aktualisieren, aber es funktioniert nicht

AppWidgetManager appWidgetManager = AppWidgetManager.GetInstance(this.Context); 
     var manager = AppWidgetManager.GetInstance(this.Context); 
     var componentName = new ComponentName(Context.PackageName, Java.Lang.Class.FromType(typeof(TodoWidget)).Name); 

     int[] appWidgetIds = appWidgetManager.GetAppWidgetIds(componentName); 
      appWidgetManager.NotifyAppWidgetViewDataChanged(appWidgetIds, Resource.Layout.TodoWidget); 

Es ist die Aktualisierung nicht mein Widget

Antwort

0

Wenn die Antwort mich selbst gefunden haben, nur für den Fall jemand anderes hier gleiche Problem wird Lösung

RemoteViews remoteViews = new RemoteViews(Context.PackageName, Resource.Layout.TodoWidget); 
     ComponentName thisWidget = new ComponentName(this.Context, Java.Lang.Class.FromType(typeof(TodoWidget)).Name); 
     remoteViews.SetTextViewText(Resource.Id.widgetSmall, new TodoDBR().GetAllRecordsForWidget()); 
     AppWidgetManager.GetInstance(this.Context).UpdateAppWidget(thisWidget, remoteViews); 
Verwandte Themen