ListView加优化的多条目加载
2017-10-24 16:02
246 查看
package com.example.listviewlx; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import com.nostra13.universalimageloader.core.ImageLoader; import java.util.List; /** * Created by Administrator on 2017/10/12. */ public class MyAdapter extends BaseAdapter { private List<Bean> list; private Context context; final int TYPE_ONLY = 0;//只有文字 final int TYPE_LEFT = 1;//图在左边,字在右边 final int TYPE_RIGHT = 2;//图在右边,字在左边 final int TYPE_TOP = 3;//图在上,字在下 public MyAdapter(List<Bean> list, Context context) { this.list = list; this.context = context; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public int getViewTypeCount() { return 4; } @Override public int getItemViewType(int position) { if (position % 4 ==0){ return TYPE_ONLY; }else if (position%4 ==1){ return TYPE_LEFT; }else if (position%4==2){ return TYPE_RIGHT; }else{ return TYPE_TOP; } } @Override public View getView(int i, View view, ViewGroup viewGroup) { int type = getItemViewType(i); switch (type){ case TYPE_ONLY: View v1 = View.inflate(context, R.layout.one, null); TextView v1title = v1.findViewById(R.id.little); v1title.setText(list.get(i).getTitle()); return v1; case TYPE_LEFT: View v2 = View.inflate(context, R.layout.two, null); TextView v2title = v2.findViewById(R.id.little); ImageView v2img = v2.findViewById(R.id.img); v2title.setText(list.get(i).getTitle()); ImageLoader.getInstance().displayImage(list.get(i).getFirstImg(),v2img,MyAppliction.getDefaultDisplayOption()); return v2; case TYPE_RIGHT: View v3 = View.inflate(context, R.layout.three, null); TextView v3title = v3.findViewById(R.id.little); ImageView v3img = v3.findViewById(R.id.img); v3title.setText(list.get(i).getTitle()); ImageLoader.getInstance().displayImage(list.get(i).getFirstImg(),v3img,MyAppliction.getDefaultDisplayOption()); return v3; case TYPE_TOP: View v4 = View.inflate(context, R.layout.four, null); TextView v4title = v4.findViewById(R.id.little); ImageView v4img = v4.findViewById(R.id.img); v4title.setText(list.get(i).getTitle()); ImageLoader.getInstance().displayImage(list.get(i).getFirstImg(),v4img,MyAppliction.getDefaultDisplayOption()); return v4; } return null; } }
相关文章推荐
- ListView多条目加载以及优化
- listview优化:滑动时不加载图片
- ListView加载性能优化之ViewHolder的作用与用法
- android使用LruCache对listview加载图片时候优化处理
- 一步一步实现listview加载的性能优化
- ListView加载网络图片优化(加二级缓存使滑动流畅)
- Android学习之 listview加载性能优化ViewHolder
- ListView多条目加载
- ListView多条目加载
- ListView数据异步加载图片和使用AsyncTask优化
- Listview异步加载图片之优化篇
- ListView加载速度/性能优化方案分析
- Android加载数据ListView优化内存实现
- Android listview异步加载图片(线程池,内存缓存,SD卡缓存)优化显示
- BaseAdapter深入学习,不规则listview,ListView加载性能优化ViewHolder
- listview下拉刷新和加载更多的优化
- listview的多条目加载的适配器
- Android之ListView异步加载网络图片(优化缓存机制)
- ListView 优化及分页加载
- 异步加载(AsyncTask异步任务、Handler、Json解析、Lrucache缓存、ListView滑动优化等来实现ListView图文混排)