android - 如何按布尔值对recyclerview进行排序
问题描述
我有Recyclerview
包含大学资料的数据。我想按boolean silabus
.
我想要 if silabus == true
,它总是在回收器视图的顶部显示数据,我执行此逻辑但它仍然无法正常工作。请帮忙
Collections.sort(listMateri, new Comparator<MateriKuliah>() {
public int compare(MateriKuliah o1, MateriKuliah o2) {
if (o1.isSilabus() || o2.isSilabus()) {
return -1;
} else {
return 1;
}
}
});
mAdapter.notifyDataSetChanged();
解决方案
在将您的列表传递给适配器之前尝试此操作
(在 API 调用之后和适配器 notifydatasetchanged 之前)
Collections.sort(yourLists, new Comparator<YourList>() {
@Override
public int compare(YourList lhs, YourList rhs) {
return lhs.getId().compareTo(rhs.getId());
}
});
推荐阅读
- assembly - 在 X86 程序集中打印未初始化的数据是否有特定的方法?
- json - 如何正确地从此 API 请求信息?
- video - 在FFmpeg中加入视频有问题超过1000帧重复
- python - Python中不同类型的二维数组
- django - 使用 crp1.urls 中定义的 URLconf,Django 尝试了这些 URL 模式,admin/ 当前路径 register.html 与其中任何一个都不匹配。**
- spring-boot - Spring boot SFTP,SFTP中的动态目录
- c# - 如何从错误代码中删除额外的 If 语句
- perl - 如何使用 Perl 脚本从 FASTA 文件中的匹配字符串中提取 ID?
- python - 如何将 ctypes 结构数组传递给 pyOpenCL?
- angular - 将数据推送到数组中,但在将时间戳转换为日期之后