Android ViewStub必须具有非空的ViewGroup viewParent
我正在使用Android ViewStub必须具有非空的ViewGroup viewParent,android,viewstub,Android,Viewstub,我正在使用ViewStubs加载布局中的显示数据。因为我正在使用ButterKnife绑定布局组件,所以我有一些自定义类来保存各个viewstub布局的组件,例如一个这样的viewstub如下所示 <ViewStub android:id="@+id/featuredContentStub" android:layout_width="match_parent" android:layout_height="wrap_content" an
ViewStubs
加载布局中的显示数据。因为我正在使用ButterKnife
绑定布局组件,所以我有一些自定义类来保存各个viewstub布局的组件,例如一个这样的viewstub如下所示
<ViewStub
android:id="@+id/featuredContentStub"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inflatedId="@+id/featuredContent"
android:layout="@layout/featured_content" />
我将布局充气如下:
if (viewstub != null) {
View view = viewstub.inflate();
featuredContentView = new FeaturedContentView(view);
}
上述方法在我的片段中的两个不同位置被调用。它第一次正确充气,但第二次充气失败,原因是java.lang.IllegalStateException:ViewStub必须具有非空的ViewGroup viewParent
我如何处理这种情况。Android将ViewStub充气如下:
if (viewstub != null) {
View view = viewstub.inflate();
featuredContentView = new FeaturedContentView(view);
}
充气
时,用指定的布局替换该视图就我个人而言,我认为ViewStub当前的形式非常不方便,尤其是在使用ButerKnife时。幸运的是,该类本身非常简单,您始终可以创建一个自定义类,该类也可以这样做,并向其添加任何必需的方法(例如
isInflated
,addInflateCallback
等)。Android支持库开发人员也做了同样的事情,顺便说一句。你能发布你的整个片段代码吗,我对你的视图存根有疑问。膨胀()
黄油不是这样的。。。我试过不用黄油刀,我也面临同样的问题