
需求如图:金刚区水平滚动带滚动条,行数列数可设置,要求第一页数据呈Z字排序,第二页从上到下从左到右排序依次展示(图为2行4列)
鉴于后台为整合多端数据,现接口仅提供一个升序排序的列表,由前端重新排序来展示。
android端选择使用recyclerview控件实现,数据重新排序如下:
/**
* @param totalList 要排序的数据
* @param columnCount 列数
* @param rowCount 行数
*/
private static void sortList(List<String> totalList, int columnCount, int rowCount) {
List<String> tempData = new ArrayList<>();
tempData.addAll(totalList);
try {
if (columnCount != 1) {
int[] indexAdd = new int[columnCount];
for (int i = 0; i < columnCount; i++) {
indexAdd[i] = 0;
}
for (int i = 0; i < columnCount * rowCount; i++) {
int result = i % columnCount;
totalList.set(i, tempData.get(rowCount * result + indexAdd[result]));
int index = indexAdd[result] + 1;
indexAdd[result] = index;
}
}
} catch (Exception e) {
e.printStack
文章讲述了如何在Android端使用RecyclerView实现需求,当后台接口提供升序排序的列表时,前端需对数据进行处理,包括Z字排序和特定行列顺序展示。通过sortList方法,根据列数和行数调整列表布局。
1126

被折叠的 条评论
为什么被折叠?



