我有一个包含TextView的小部件。我尝试从MainaActivity更新小部件数据,因为从主Activity添加了更多数据,我希望小部件刷新
class TodoWidget : AppWidgetProvider
{
..............
private void SetTextViewText(RemoteViews widgetView)
{
// widgetView.SetTextViewText(Resource.Id.widgetMedium, new TodoDBR().GetAllRecordsForWidget());
widgetView.SetTextViewText(Resource.Id.widgetSmall, new TodoDBR().GetAllRecordsForWidget());
}
在Main Activity中,添加数据后,我尝试调用方法来更新微件,但它不起作用
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);
它没有更新我的小工具
2条答案
按热度按时间pexxcrt21#
如果我自己找到了答案,以防其他人也有同样的问题,这里是解决方案
xj3cbfub2#
不能投票,但谢谢你-经过4年。终于它的工作为我。对于某人也,调用更新小部件从主或服务:
接下来是. SetAction()