listview支持多种item显示处理
来源:互联网 发布:非农数据最新消息 编辑:程序博客网 时间:2024/06/13 09:36
无需再为了一个简单的listview item显示,然后新建这个adapter,新建那个apapter
在这里只需要一个adapter就可搞定一般情况的item显示问题,ps:一般情况,复杂的不纳入范围内
先说说要怎么做,主要是分以下几步
1:新建Item的复用类Holder;
2:新建bean类,然后跟Holder关联起来
3:拥有一个List<bean>对象,然后一行代码setAdapter
具体分单重类型的Item跟多种类型Item(listview当中显示不同item的需求还是蛮多的)
先说说单种item的情况
1:新建Holder
public class AbcdH extends INormalHolder<AbcdBean> { //这里需要继承INorMalHolder,并且泛型里边是Bean public AbcdH(Context ctx) { super(ctx); layout = R.layout.jpadapt_item_r_layout; //这里是你这个Item的布局layout } @Override public void initView(View view) { //这里就是初始化控件的,findviewid等操作 } @Override public void setData(AbcdBean abcdBean) { super.setData(abcdBean);//一定要super;这里是setText的 }}
@NormalH(holderName =AbcdH.class)//注解关联复用类public class AbcdBean {}
BaseAdapter ada = new NormalAdapter<>(list, mActivity);listView.setAdapter(ada);ok这样就完成了
多种类型的如下
1:还是新建item复用类,既然是多种的,所以这里就需要新建2个或以上Holder,
取决于你有多少个不用的itme
public class AbcdRightH extends IManyHolder<AbcdBean> { //跟单个的一样,也是要关联bean,但是是继承IManyHolder public AbcdRightH(Context ctx) { super(ctx); layout = R.layout.jpadapt_item_r_layout; //对应的layout布局 } @Override public void initView(View view) { //同上 }}
public class AbcdLeftH extends IManyHolder<AbcdBean> { //跟单个的一样,也是要关联bean,但是是继承IManyHolder public AbcdRightH(Context ctx) { super(ctx); layout = R.layout.jpadapt_item_l_layout; //对应的layout布局 } @Override public void initView(View view) { //同上 }}
2:新建bean类
@ManyH(holders ={AbcdLeftH.class,AbcdRightH.class})//当是多种类型的时候,所对应的Holder,0代表显示LeftH,1:代表显示RightHpublic class AbcdBean { @TypeH//代表是那个布局类型的,为int型 这里如果为0:那么表示是属于LeftH的,如果为1:表示是输入RightH 依次类推 private int type; // set get type方法}
BaseAdapter ada = new ManyAdapter<>(list, mActivity);listView.setAdapter(ada);
跟单个的一样,只是改成ManyAdapter而已
附上一个aar文件,直接引进去即可,至于怎么引入aar,另行百度
戳我下载aar文件
1 0
- listview支持多种item显示处理
- BaseAdapter-ListView中的item显示多种布局
- [Android学习]ListView显示多种item
- listview多种形式item
- android listView的item 显示多种不同的布局
- 如何让一个ListVIew按类型显示多种Item视图
- ListView Item多种布局优化
- Android--listview多种类型item
- listview遇到多种样式item
- ListView具有多种item布局
- ListView Item多种布局优化
- ListView Item多种布局优化
- ListView 多种Item的加载
- ListView多种条目显示
- RecyclerView显示多种Item布局
- listview item显示特效
- 关于listview加载多种item的解决方案
- ListView有多种Item View的优化
- GeokoFx (1)替换 webbrowser ,环境搭建
- iOS开发实现TouchID指纹解锁
- SDWebImage加载图片设置cookie
- HDU2866 Special Prime
- QCustomPlot之绘图的基础
- listview支持多种item显示处理
- Redis在spring中的几种常用配置方法
- oracle 自增主键
- extjs如何将record转换成json
- 微信jssdk录音功能开发记录
- iOS开发之NSDecimalNumber的使用,货币计算/精确数值计算/保留位数等
- scrollview起始位置不是顶部
- MySQL分片高可用集群之Cobar部署使用
- Android5.1.+ getRunningAppProcesses()获取运行中进程(第三方开源库)