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