Android 如何使用RecyclerView反向构建GridLayout?

Android 如何使用RecyclerView反向构建GridLayout?,android,android-recyclerview,Android,Android Recyclerview,我正在使用RecyclerView显示项目网格。我想扭转这种布局的建设 setStackFromEnd()与LinearLayoutManager完美配合,但如前所述,GridLayoutManager不支持它 使用RecyclerView构建反向网格的最佳替代方案是什么?您应该完全按照您链接的Android文档的建议执行: GridLayoutManager不支持stackFromEnd。考虑使用 SET RealSelayOUT(布尔)< /代码> .< 修改您的代码以使用setRevers

我正在使用RecyclerView显示项目网格。我想扭转这种布局的建设

setStackFromEnd()LinearLayoutManager完美配合,但如前所述,GridLayoutManager不支持它


使用RecyclerView构建反向网格的最佳替代方案是什么?

您应该完全按照您链接的Android文档的建议执行:

GridLayoutManager
不支持
stackFromEnd
。考虑使用<代码> SET RealSelayOUT(布尔)< /代码> .<
修改您的代码以使用
setReverseLayout

您应该完全按照您链接的Android文档的建议执行:

GridLayoutManager
不支持
stackFromEnd
。考虑使用<代码> SET RealSelayOUT(布尔)< /代码> .<
修改代码以使用
setReverseLayout

是否尝试将反向布局设置到GridLayoutManager构造函数中,例如:

mRecyclerView.setLayoutManager(new GridLayoutManager(context, 6, LinearLayoutManager.VERTICAL, true));
布尔值用于反向布局

希望这有帮助


对不起,我说的是英语。

您是否尝试将反向布局设置到GridLayoutManager构造函数中,例如:

mRecyclerView.setLayoutManager(new GridLayoutManager(context, 6, LinearLayoutManager.VERTICAL, true));
布尔值用于反向布局

希望这有帮助


对不起,我说的是英语。

假设我们在RecyclerView上有一个有序的列表编号,看起来是这样的: 1. 2. 3. 4. 五,

当我们使用“setReverseLayout(true)”时,结果是: 5. 4. 3. 2. 一,

但是,当我们想在这个recyclerview上动态添加一个新项目时,它会将该项目作为最后一个项目添加,并从末尾开始堆叠。 5. 4. 3. 2. 1. 6. 因此,“setStackFromEnd(true)”出现在这里。它说回收站;将新项目堆叠到开头。让我们看看recyclerview: 6. 5. 4. 3. 2. 1.
setStackFromEnd不适用于gridlayout,这就是为什么滚动显示在屏幕的末尾。

假设我们在RecyclerView上有一个有序的列表编号,它如下所示: 1. 2. 3. 4. 五,

当我们使用“setReverseLayout(true)”时,结果是: 5. 4. 3. 2. 一,

但是,当我们想在这个recyclerview上动态添加一个新项目时,它会将该项目作为最后一个项目添加,并从末尾开始堆叠。 5. 4. 3. 2. 1. 6. 因此,“setStackFromEnd(true)”出现在这里。它说回收站;将新项目堆叠到开头。让我们看看recyclerview: 6. 5. 4. 3. 2. 1.
setStackFromEnd不适用于gridlayout,这就是为什么滚动显示在屏幕的末尾。

您可以反转任何布局管理器

Step1-转到您的ArrayList

Step2-反向
Collections.Reverse(婚姻列表)


步骤2-设置适配器

您可以反转任何布局管理器

Step1-转到您的ArrayList

Step2-反向
Collections.Reverse(婚姻列表)


Step2-设置适配器

当我遇到同样的问题时,我尝试使用
RecyclerView.reverseLayout()
,但当项目不一致时,它总是在顶部留下空白

我的解决方案是在kotlin中使用arraylist
reverse
方法,类似于java中的
Collection.reverse(arraylist)

因此,只需在数据集上调用
dataList.reverse()
,然后再将其传递给适配器

注意:如果您使用适配器位置从另一个活动加载项目,您也必须在那里反转数据集


例如,当单击RecyclerView项目时,您正在加载DetailsActivity,请确保在获取单击的项目之前也反转DetailsActivity中的数据集,否则您将获得错误的项目。

当我遇到同样的问题时,我尝试使用
RecyclerView.reverseLayout()
但当项目不一致时,它总是在顶部留下空白

我的解决方案是在kotlin中使用arraylist
reverse
方法,类似于java中的
Collection.reverse(arraylist)

因此,只需在数据集上调用
dataList.reverse()
,然后再将其传递给适配器

注意:如果您使用适配器位置从另一个活动加载项目,您也必须在那里反转数据集


例如,当单击RecyclerView项目时,您正在加载DetailsActivity,请确保在获取单击的项目之前也反转DetailsActivity中的数据集,否则您将获取错误的项目。

我尝试了此方法,但问题是当显示RecyclerView时,屏幕会自动滚动到底部。嗯,我想把它滚动到顶部。你的
回收视图中有分页功能吗?还是像一个固定的数据设置?我的RecyclerView使用分页,所以你的分页在顶部?我尝试了这种方法,但问题是当显示RecyclerView时,屏幕会自动滚动到底部。嗯,我想把它滚动到顶部。你的
回收视图中有分页功能吗?还是像一个固定的数据设置?我的RecyclerView使用分页所以你的分页在顶部?谢谢你的回答。是的,我试过了,但在显示时仍存在滚动到RecyclerView底部的问题…mRecyclerView.ScrollTopoPosition(0);我应该这样做,但现在,我不知道为什么它会自动滚动到底谢谢你的回答。是的,我试过了,但在显示时仍存在滚动到RecyclerView底部的问题…mRecyclerView.ScrollTopoPosition(0);应该这样做,但现在,我不知道为什么它自己滚动到底部