RecyclerView实现不同布局,Model实体类写法

本文介绍如何在安卓开发中使用RecyclerView实现不同布局。作者分享了一种通过Model实体类来区分和排序不同数据类型的实践,包括创建基类ModelBase和多个子类如PersonModel、AnimalModel,利用BEAN_TYPE和BEAN_SORT字段简化适配器的编写。
摘要由CSDN通过智能技术生成

        首先,我是一名安卓小白,入行已半年之久,刚来公司实习时,带我的师傅跟我说,你应该在博客上写点东西,一方面对以后找工作有帮助,另一方面可以加深你对代码的理解,一直很想写点东西,可慢慢的这件事就被耽搁了下来;昨天和老铁一起出去玩时,他跟我提到的一种使用RecyclerView时Model实体类的写法,对我自己很有帮助,希望下面所讲解的多少对你有点帮助。

        如果你对RecyclerView不是很了解,你可以先去看看鸿洋大神写的RecyclerView完全解析http://blog.csdn.net/lmj623565791/article/details/45059587;我们在使用RecyclerView涉及到对多布局时,经常会去计算每个item所放的是什么,并且有时候数据类型不一样,造成了recyclerview适配器的写法会很繁琐,那么有没有一种办法可以将不同类型的数据都放到一个list集合中,通过Model类中的一些字段来控制加载不同的布局,也可以通过另一个字段来实现item的排序!~~答案肯定是有,我们可以让子类的Model去实现一个基类Model,基类中设置定义两个变量,BEAN_TYPE(用于区别不同的Model实体类),BEAN_SORT(用于子类的排序)

基类ModelBase

public class ModelBase implements Comparable<ModelBase>{

    public int BEAN_SORT = -1;
    public int BEAN_TYPE = -1;
    
    @Override
    public int compareTo(ModelBase another) {
        return BEAN_SORT-another.BEAN_SORT;
    }
}
       基类ModelBase中实现了Compareble,用于排序,不懂的可以自行搜索Compareble和Com
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值