首页 > 解决方案 > 为什么 GridLayoutManager 从下到上,从右到左填充项目?

问题描述

我在API 24、26、27 和 28中测试了我的代码,它就像一个魅力(从上到下从左到右)但是当我在API 16中测试它时,我发现它正在从下到上从右GridLayoutManager填充项目向左。我猜这个问题发生在API<17

这是我的代码:

RecyclerView recyclerView = v.findViewById(R.id.recyclerview);
recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 2));
recyclerView.setAdapter(mAdapter);

在此处输入图像描述

如何在API 16中修复它?


编辑:

重要的是要知道 All Devices < API 17 不会发生此问题。因为我在三星 Galaxy S3 (API 16) 中测试了应用程序,但它并没有颠倒列表。

标签: androidandroid-layoutandroid-recyclerviewgridlayoutmanager

解决方案


当 Android 设备的 API 级别低于 17(4.2 或JELLY_BEAN_MR1)时,我决定反转我的 ArrayList。

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) {
    Collections.reverse(mlist);
}

然后很明显我应该将mList设置为recyclerAdapter。


推荐阅读