Android appwidget ViewStub

Android appwidget ViewStub

我正在尝试开发一个相当复杂的 appwidget,它可以通过编程改变它的一部分。 Android 建议使用 ViewStub 小部件。

根据AppWidgets page RemoteViews 支持 ViewStub。

因为在使用 RemoteViews 时我不能 findViewById()。 所以我尝试使用

RemoteViews.setViewVisibility(viewstub_id, View.VISIBLE)

这适用于 API > 15 的设备。

问题是,它不适用于较旧的 APIs,并且在展开布局时会崩溃。

Error inflating AppWidgetppWidgetProviderInfo(provider=ComponentInfo{com.example.app/com.example.app.widgetProvider}): android.view.InflateException: 
Binary XML file line #56: Error inflating class android.view.ViewStub

我试图寻找任何关于 API 兼容性的提及,但 ViewStub 应该可以从 API 1.

获得

那么有没有关于什么时候我们可以在appwidget中使用ViewStub的信息?

谢谢!

我在 RemoteViews only from API 16.

中发现了关于 ViewStub 的提及

虽然隐藏了很多信息。

非常老的问题,但您还可以做的一件事是,如果您的应用程序小部件在某种程度上是模块化的。使用 addView 在其他视图中添加其他视图。需要注意的一件事是,您将在两次更新之间几乎清除该特定模块的所有远程视图,否则您最终将重复添加。