我想在运行时将textviews添加到我的窗口小部件。我看到了许多教程,其中RemoteViews对象调用addView方法将视图添加到某些布局。

RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.main);
TextView t = new TextView(context);
views.addView(R.id.view_container, t);
appWidgetManager.updateAppWidget(thisWidget, views);


但是addView方法会显示此错误:对于RemoteViews.type类型,未定义方法addView(int,RemoteViews)。该方法是为ViewGroup类定义的,但是为什么它对每个人都起作用?有没有一种方法可以在运行时将textview添加到某些RemoteView?

最佳答案

签名不是RemoteViews.addView(int, RemoteViews)吗?

您似乎将TextView作为第二个参数。

这样的事情应该起作用:

RemoteViews remoteViewToAdd = new RemoteViews(context.getPackageName(), LAYOUT_ID);
...
views.addView(R.id.view_container, remoteViewToAdd);

10-08 14:28