2016-10-28 233 views
4

我想網格佈局,從去年的,我用下面的代碼如何設置setStackFromEnd(true);在GridLayoutManager for Recyclerview?

GridLayoutManager recyclerViewLayoutManager = new GridLayoutManager(getActivity(), 3); 
//  LinearLayoutManager recyclerViewLayoutManager = new LinearLayoutManager(getActivity()); 
recyclerViewLayoutManager.setStackFromEnd(true); 
lv_explore.setLayoutManager(recyclerViewLayoutManager); 

數據加載它給我的錯誤是這樣

java.lang.UnsupportedOperationException: GridLayoutManager does not support stack from end. Consider using reverse layout 
at android.support.v7.widget.GridLayoutManager.setStackFromEnd(GridLayoutManager.java:107) 
at in.co.ans.jalsounique.FragmentExplore.onCreateView(FragmentExplore.java:86) 
at android.support.v4.app.Fragment.performCreateView(Fragment.java:2080) 
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1108) 
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1290) 
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:801) 
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1677) 
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:536) 
at android.os.Handler.handleCallback(Handler.java:746) 
at android.os.Handler.dispatchMessage(Handler.java:95) 
at android.os.Looper.loop(Looper.java:148) 
at android.app.ActivityThread.main(ActivityThread.java:5443) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 

當我使用LinearLayoutManager這是工作,但我需要網格視圖,請告知什麼應該是更好的方法?

回答

1

這就是它說的:setStackFromEnd不支持。它只適用於列表,而不是網格。

考慮使用反向佈局

所以你解決這個問題的方法是調用setReverseLayout(true)GridLayoutManager

這意味着您將需要反轉您的清單的整個訂單。如果您正在追加意圖顯示在底部的項目,您將不得不在開頭插入它們。

相關問題