首页 > 解决方案 > 如何按布尔值对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();

标签: androidcollectionsandroid-recyclerview

解决方案


在将您的列表传递给适配器之前尝试此操作

(在 API 调用之后和适配器 notifydatasetchanged 之前)

Collections.sort(yourLists, new Comparator<YourList>() {
        @Override
        public int compare(YourList lhs, YourList rhs) {
            return lhs.getId().compareTo(rhs.getId());
        }
    });

推荐阅读