android - 为什么 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) 中测试了应用程序,但它并没有颠倒列表。
解决方案
当 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。
推荐阅读
- android - 发布版本改造 api 中的 minifyEnabled true 和 shrinkResources true 不起作用
- unit-testing - 如何使用返回 Observable 的 Kotlin lambda 调用测试方法?
- python - 试图从以前的字典中嵌套字典
- matlab - 给定每一行的列索引,如何从矩阵的每一行中选择一个元素?
- python - 使用python连续处理日志文件并提取所需数据
- typescript - 如何在 TypeScript 中正确合并来自 NPM 模块的接口?
- reactjs - 持久复选框位置
- android - 如何通过 Android 应用程序向 Google IoT 核心创建设备?
- javascript - 在提交 JavaScript 时重定向到另一个页面
- javascript - 从d3中的节点获取转换