ViewStub must have a valid layoutResource

问题:在UltimateRecyclerView加载条目的时候,出现的异常。出现的前提是数据的长度为0
资料:在google了 ViewStub之后明白了其中的原因
官方的解释:A ViewStub is an invisible, zero-sized View that can be used to lazily inflate layout resources at runtime. -- 他是一个不可见的, 0大小的用来懒加载布局资源的view。
理解: List View加载一个个的条目时,就是先用一个ViewStub站住位置,在inflate之后,就显示了我们的item了。
为什么这样做呢?


现在大小为0,不可见的

mySubTree是我们想要填充的布局,如何得到这个布局

ViewStub stub = (ViewStub) findViewById(R.id.stub);
View inflated = stub.inflate();
现在就变成了宽120,高40 的view了

This lets applications get a reference to the inflated View without executing an extra findViewById().

这样做的好处是,可以直接得到view的引用而不需要额外的findViewById了。
所以,这个异常的原因就是,android:layout="@layout/mySubTree"为空,我们可以设置一个空的资源。

app:recyclerviewEmptyView="@layout/view_empty"
如下:


    

希望可以帮到您~~~

你可能感兴趣的:(ViewStub must have a valid layoutResource)