RecyclerView item独占一行实现

核心代码:

GridLayoutManager manager = new GridLayoutManager(context, 4);
        manager.setSpanSizeLookup()

 

 

  class SpanSizeLoop(var imageAdapter: MainListAdapter?,var spanCount: Int) : GridLayoutManager.SpanSizeLookup() {
        override fun getSpanSize(position: Int): Int {
            Logger.e("getSpanSize........${position}")
            return if (imageAdapter?.getItem(position)?.itemTypes == 1) spanCount else 1
        }
    }

 

recycler.run {
            var llManager = GridLayoutManager(SampleApplicationLike.context,SPAN_COUNT,RecyclerView.VERTICAL,false)
            imageAdapter = MainListAdapter(SampleApplicationLike.context,getTestData(),calcImageWidth())
            adapter = imageAdapter
            // 需要先设置adapter
            llManager.spanSizeLookup = SpanSizeLoop(imageAdapter,SPAN_COUNT)
            layoutManager = llManager
            addItemDecoration(RecyclerViewGridItemDecoration(dividerWidth,Color.WHITE,RecyclerView.VERTICAL))
            adapter?.notifyDataSetChanged()
        }

 

转载于:https://www.cnblogs.com/jiayonghua/p/11435734.html

### HutoolPlus 实现 Excel 导出时分组字段独占一行 为了实现在使用 HutoolPlus 进行 Excel 导出时让分组字段独占一行,可以采用自定义单元格写入策略的方式。具体来说,在遍历数据集并准备将其写入到 Excel 表格之前,先处理好每一行的数据结构,使得特定的分组字段能够单独占据一行。 下面是一个简单的例子来展示这一过程: ```java import cn.hutool.poi.excel.ExcelUtil; import cn.hutool.poi.excel.WriterSheet; import org.apache.poi.ss.usermodel.Row; import java.util.ArrayList; import java.util.List; public class GroupedFieldExporter { private static final String[] HEADERS = {"Group", "Name", "Value"}; public void exportWithGrouping(List<GroupData> dataList) { WriterSheet writerSheet = ExcelUtil.getWriterSheet("sheet1"); // 设置表头 writerSheet.writeRow(HEADERS); int rowIndex = 1; // 跟踪当前行号 for (GroupData data : dataList) { Row row = writerSheet.getRow(rowIndex++); // 写入分组名称作为独立的一行 writerSheet.writeCell(row, 0, data.getGroupName()); // 将该组下的所有记录依次写出 for (Record record : data.getRecords()) { row = writerSheet.createRow(rowIndex++); // 填充其他列的内容 writerSheet.writeCellValue(record.getName(), row.getCell(1)); writerSheet.writeCellValue(record.getValue().toString(), row.getCell(2)); } } // 输出文件流... } // 定义用于存储每条记录的对象类 Record 和 组对象类 GroupData ... } ``` 上述代码片段展示了如何通过 `cn.hutool.poi.excel` 包中的工具类来进行操作[^1]。这里假设有一个名为 `GroupData` 的实体类用来表示一组数据以及其内部包含多个 `Record` 对象的情况。当遇到新的分组名时,则创建一个新的空白行并将分组名字填入第一个单元格;随后在同一张工作簿内继续追加属于这个分组的具体项直到下一个不同的分组到来为止。 需要注意的是实际应用中可能还需要考虑更多细节问题比如样式设置、边界条件判断等,这取决于具体的业务需求和技术环境的要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值