【问题标题】:How to set setStackFromEnd(true); in GridLayoutManager for Recyclerview?如何设置 setStackFromEnd(true);在 Recyclerview 的 GridLayoutManager 中?
【发布时间】:2016-10-28 08:25:16
【问题描述】:

我想要使用以下代码从最后加载数据的网格布局

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 时,它可以工作,但我需要网格视图,请告知什么应该是更好的方法?

【问题讨论】:

    标签: android gridview android-recyclerview


    【解决方案1】:

    正如它所说:setStackFromEnd 不支持。它仅适用于列表,不适用于网格。

    考虑使用反向布局

    因此,解决此问题的方法是在您的 GridLayoutManager 上调用 setReverseLayout(true)

    这意味着您需要颠倒列表的整个顺序。如果您要附加要显示在底部的项目,则必须将它们插入到开头。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多