大佬教程收集整理的这篇文章主要介绍了android – ViewStub必须有一个非null的ViewGroup viewParent,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Viewstubs在我的布局中加载显示数据.由于我使用ButterKnife来绑定布局组件,因此我有自定义类来保存各个viewstub布局的组件,例如,一个这样的viewstub如下所示.
处理@ layout / featured_content组件的类如下:
public class FeaturedContentView {
@BindView(R.id.art)
ImageView art;
@BindView(R.id.shadE)
View shade;
@BindView(R.id.titlE)
TextView featuredtitle;
@BindView(R.id.performer)
TextView performer;
@BindView(R.id.featured_titlE)
KerningTextView featuredText;
@BindView(R.id.play_button)
Button play;
@BindView(R.id.shareText)
TextView shareText;
@BindView(R.id.addToFavorites)
ImageView addToFavs;
FeaturedContentView(View view) {
ButterKnife.bind(this,view);
}
}
我像这样膨胀布局:
if (viewstub != null) {
View view = viewstub.inflate();
featuredContentView = new FeaturedContentView(view);
}
上面的方法在我的片段中的两个不同的地方调用.它第一次正确膨胀但第二次引用java.lang.IllegalStateException失败:Viewstub必须具有非null的ViewGroup viewParent.
我该如何处理这种情况.
>最初以与任何其他视图相同的方式将Viewstub添加到View层次结构
>调用inflate时,将该视图替换为指定的布局.
这意味着,当您第二次调用代码时,原始Viewstub对象与View层次结构长期分离,并且已被完整视图替换.
就个人而言,我认为Viewstub的当前形式非常不方便,特别是在使用ButerKnife时.幸运的是,类本身非常简单,您始终可以创建一个自定义类,它会执行相同的操作并向其添加任何所需的方法(例如isInflated,addInflateCallBACk等).顺便说一句,Android支持库开发人员也是如此.
以上是大佬教程为你收集整理的android – ViewStub必须有一个非null的ViewGroup viewParent全部内容,希望文章能够帮你解决android – ViewStub必须有一个非null的ViewGroup viewParent所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。