多种类布局的适配器及优化
来源:互联网 发布:mac用什么炒股软件 编辑:程序博客网 时间:2024/06/14 14:07
class MyAdapter extends BaseAdapter { private final int TYPE0 = 0; private final int TYPE1 = 1; //长度 @Override public int getCount() { return datalist.size(); } //布局 @Override public Object getItem(int i) { return datalist.get(i); } //下标 @Override public long getItemId(int i) { return i; } //多少种布局 @Override public int getViewTypeCount() { return 2; } //下标对应的布局 @Override public int getItemViewType(int position) { boolean b = datalist.get(position).getIMAGEURL() != null; if (b) { return 0; } else { return 1; } } //设置布局并且优化 @Override public View getView(int i, View view, ViewGroup viewGroup) { //获取不同布局的返回值 int type = getItemViewType(i); ViewHolder0 holder0; ViewHolder1 holder1; //判断选择 switch (type) { case TYPE0: //判断是否为空 if (view == null) { //获取布局 view = View.inflate(MainActivity.this, R.layout.item0, null); holder0 = new ViewHolder0(); //初始化组件 holder0.tv0 = view.findViewById(R.id.tv_content); holder0.tv1 = view.findViewById(R.id.tv_time); //关联 view.setTag(holder0); } else { holder0 = (ViewHolder0) view.getTag(); } //赋值 holder0.tv0.setText(datalist.get(i).getTITLE()); holder0.tv1.setText(datalist.get(i).getSHOWTIME()); break; case TYPE1: if (view == null) { //获取布局 view = View.inflate(MainActivity.this, R.layout.item, null); holder1 = new ViewHolder1(); //初始化组件 holder1.tv0 = view.findViewById(R.id.tv_content); holder1.tv1 = view.findViewById(R.id.tv_time); holder1.iv = view.findViewById(R.id.iv); //关联 view.setTag(holder1); } else { holder1 = (ViewHolder1) view.getTag(); } //赋值 holder1.tv0.setText(datalist.get(i).getTITLE()); holder1.tv1.setText(datalist.get(i).getSHOWTIME()); //设置图片 instance.displayImage((String) datalist.get(i).getIMAGEURL(), holder1.iv,options); break; } return view; }}
布局:
0:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_vertical" android:orientation="horizontal" android:padding="10dp"> <ImageView android:id="@+id/iv" android:layout_width="150dp" android:layout_height="100dp" android:src="@mipmap/ic_launcher" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:padding="10dp"> <TextView android:id="@+id/tv_content" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ASDASDAS" android:textSize="24sp" /> <TextView android:id="@+id/tv_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="ASDASDAS" android:textSize="16sp" /> </LinearLayout></LinearLayout>1:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_vertical" android:orientation="vertical" android:padding="10dp"> <TextView android:id="@+id/tv_content" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ASDASDAS" android:textSize="24sp" /> <TextView android:id="@+id/tv_time" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="ASDASDAS" android:textSize="16sp" /></LinearLayout>
阅读全文
0 0
- 多种类布局的适配器及优化
- ListView多种布局的优化
- ListView的适配器及优化
- 适配器及ListView的优化
- ListView Item多种布局优化
- ListView Item多种布局优化
- ListView Item多种布局优化
- BaseAdapter自定义适配器及ListView的优化
- 多种布局的ListView
- Anroid之即时聊天的布局及适配器的编写.
- ListView Adapter适配器的布局实例及相关问题
- listview加载性能优化及有多种listitem布局处理方式
- listview加载性能优化及有多种listitem布局处理方式
- Android ListView通用适配器升级支持多种布局
- 内存溢出的多种原因及优化方法
- jvm 内存溢出的多种原因及优化方法
- 内存溢出的多种原因及优化方法
- ListView Item使用多种布局优化
- java入门篇---自增自减、三元运算符+for循环、if判断
- python服务器
- java AES加密解密
- UltraEdit查看class的jdk版本
- dataTables自增序号的实现
- 多种类布局的适配器及优化
- 项目中遇到的bug
- centos7.2 PHP7安装mysql 扩展
- Codeforces Round #131 (Div. 2) / 214A System of Equations 暴力枚举
- windows上用apache做反向代理
- 51例程---闪烁灯
- 高并发下乐观锁的原理
- 关于Java精度不丢失的加减乘除运算
- Mapreduce中的分区Partitioner