問題:在UltimateRecyclerView加載條目的時(shí)候,出現(xiàn)的異常销凑。出現(xiàn)的前提是數(shù)據(jù)的長度為0
資料:在google了 ViewStub之后明白了其中的原因
官方的解釋:A ViewStub is an invisible, zero-sized View that can be used to lazily inflate layout resources at runtime. -- 他是一個(gè)不可見的, 0大小的用來懶加載布局資源的view蛉谜。
理解: List View加載一個(gè)個(gè)的條目時(shí)讼庇,就是先用一個(gè)ViewStub站住位置,在inflate之后做祝,就顯示了我們的item了砾省。
為什么這樣做呢?
<ViewStub android:id="@+id/stub"
android:inflatedId="@+id/subTree"
android:layout="@layout/mySubTree"
android:layout_width="120dip"
android:layout_height="40dip" />
現(xiàn)在大小為0,不可見的
mySubTree是我們想要填充的布局混槐,如何得到這個(gè)布局
ViewStub stub = (ViewStub) findViewById(R.id.stub);
View inflated = stub.inflate();
現(xiàn)在就變成了寬120编兄,高40 的view了
This lets applications get a reference to the inflated View without executing an extra findViewById().
這樣做的好處是,可以直接得到view的引用而不需要額外的findViewById了声登。
所以狠鸳,這個(gè)異常的原因就是,android:layout="@layout/mySubTree"為空悯嗓,我們可以設(shè)置一個(gè)空的資源件舵。
app:recyclerviewEmptyView="@layout/view_empty"
如下:
<com.marshalchen.ultimaterecyclerview.UltimateRecyclerView
android:id="@+id/ultimate_recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/detail_title"
app:recyclerviewEmptyView="@layout/view_empty"
android:layout_marginBottom="45dp"
android:background="#FFFFFF">
</com.marshalchen.ultimaterecyclerview.UltimateRecyclerView>
希望可以幫到您~~~