如何过滤回收者视图卡片视图,并基于某些布尔标志将卡片显示为第一张卡片视图?

时间:2019-03-26 17:30:42

标签: android sorting android-recyclerview android-cardview

如何排序/过滤回收者视图卡片视图,并在android中的所有卡片视图顶部显示该卡片视图。 在对true进行检查时,我有一些布尔标志为true,我需要在第一张卡视图上显示特定卡在顶部,然后在下面显示其他卡,以及如何实现此功能?

2 个答案:

答案 0 :(得分:0)

使适配器具有多个视图支架并根据需要首先绑定特定的布局 multiple item recyclerview

答案 1 :(得分:0)

在adaptre中添加该方法,希望对您有所帮助:

 public void sortItem() {
    ArrayList<Item> items = new ArrayList<>();
    Item top =null ;
    for(Item item : data){
        if(!item.isTop){
            items.add(item);
        }else{
            top = item;
        }
    }
    if(top!=null){
       items.add(0, top);
    }
    data.clear();
    data.addAll(items);
    adapter.notifyDataSetChanged();
}





 class Item{

     public Boolean isTop; 

  }

如果您想立即获得排序列表,则可以对列表进行排序,然后在活动内提交yo回收者视图adaper:

ArrayList<Item> items = new ArrayList<>();
        Item top =null ;
        for(Item item : data){
            if(!item.isTop){
                items.add(item);
            }else{
                top = item;
            }
        }
        if(top!=null){
           items.add(0, top);
        }
  yourAdapter.submitList(items)