我有一个清单,例如20件。我希望能够像这样加载它们
1 11
2 12
3 13
4 14
5 15
6 16
7 17
8 18
9 19
10 20
我正在使用
RecyclerView
和GridLayoutManager
使用
GridLayoutManager(context, 2)
,它按以下方式加载项目1 2
3 4
5 6
7 8
....
这不是我想要的输出
最佳答案
实现此目的的最简单方法是根据所需顺序对ArrayList进行排序,将您的arraylist传递给RearrangeTheArrayList函数,以获取新的ArrayList并将其传递给回收站视图Adapter,以实现上述顺序。
public ArrayList<Integer> rearrangeTheArrayList(ArrayList<Integer> integerArrayList) {
ArrayList<Integer> resultArrayList = new ArrayList<>();
int halfLength = 0;
if (integerArrayList.size() % 2 == 1) {
halfLength = (integerArrayList.size() / 2) + 1;
} else {
halfLength = integerArrayList.size() / 2;
}
for (int i = 0; i < halfLength; i++) {
resultArrayList.add(integerArrayList.get(i));
if ( (i + halfLength)<(integerArrayList.size() )) {
resultArrayList.add(integerArrayList.get(i + halfLength));
}
}
return resultArrayList;
}