在android中如何在回收器视图中对卡片视图进行排序

在android中如何在回收器视图中对卡片视图进行排序,android,android-recyclerview,cardview,Android,Android Recyclerview,Cardview,我有一些API响应,如下所示: [ { accountType: a, accountId: 1, accountStatus: active, isDefault: false, accountName: texas1 }, { accountType: b, accountId:

我有一些API响应,如下所示:

 [      
        {
            accountType: a,
            accountId: 1,
            accountStatus: active,
            isDefault: false,
            accountName: texas1
        }, {
            accountType: b,
            accountId: 1,
            accountStatus: active,
            isDefault: false,
            accountName: texas2
        }, {
            accountType: c,
            accountId: 1,
            accountStatus: active,
            isDefault: true,
            accountName: texas4
        }, {
            accountType: a,
            accountId: 1,
            accountStatus: active,
            isDefault: false,
            accountName: texas5
        }, {
            accountType: b,
            accountId: 1,
            accountStatus: active,
            isDefault: false,
            accountName: texas6
        },
        {
            accountType: a,
            accountId: 1,
            accountStatus: active,
            isDefault: false,
            accountName: texas7
        }, {
            accountType: b,
            accountId: 1,
            accountStatus: active,
            isDefault: false,
            accountName: texas9
        }  ]
我希望
isDefault
true帐户首先显示为
cardwiew
accountType
c
,然后帐户类型排序应该像帐户类型a及其所有帐户列表和帐户类型
b
及其所有帐户列表一样进行。总之,我的卡应该是这样的

  • 账户类型
    c
  • 低于默认卡
  • 然后帐户类型
    a
  • 所有卡片
  • 然后帐户类型
    b
  • 所有卡片
我总是希望
isDefault
卡无论其帐户类型如何都位于顶部,然后我希望根据
accountType
cardwiew
排序为a、b、c等。 我在
xml
布局中显示帐户类型,然后显示下面的
cardwiew

如何在
Bindview
上实现这一点?非常感谢您的帮助,回收视图将按照您将元素传递给适配器的确切顺序显示元素。您需要做的是按照您希望的顺序重新排列元素,然后将它们传递给适配器,以便可以显示它们。一个基于您的输入的简单示例

//这只是API响应的一个数据类
类别帐户{
字符串帐户类型;
国际帐户ID;
布尔状态;
布尔isDefault;
字符串accountName;
}
//假设您在一个列表中有您的API响应
List accountList=new ArrayList();
accountList.add(/*来自API的响应*/);
//现在,我们根据您的规则创建一个排序列表
List-sortedAccountList=new-ArrayList();
//首先,我们需要isDefault帐户
for(帐户:accountList){
if(account.isDefault){
增加(账户);
账户列表。删除(账户);
打破
}
}
//现在我们添加所有“c”类型的帐户
for(帐户:accountList){
if(account.accountType.equals(“c”)){
增加(账户);
账户列表。删除(账户);
}
}
//对其他帐户类型执行与上述相同的操作。您还可以根据需要应用更多规则。