2017-08-31 83 views
0

我有一個包含在TextView上的小部件。從MainaActivity我試圖更新部件數據,更多的數據從主要活動我想小部件刷新從Xamarin Android中的應用活動更新Widget中的textview?

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

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

在主要活動中,添加數據我試圖調用方法來更新部件後添加,但它無法正常工作

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

它沒有更新我的插件

回答

0

如果發現答案我自己只是櫃面任何人在這裏同樣的問題被解決

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