ListView优化-通用CommonAdapter编写备份
【ps:CommonAdapter基于ViewHolder工具类】
CommonAdapter.java
package cn.edu.bzu.util; import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView; import java.util.List; import cn.edu.bzu.listview_demo.R; /**
* CommonAdapter makes Common extends BaseAdapter
* Created by monster on 2015/5/3.
*/
public abstract class CommonAdapter<T> extends BaseAdapter {
protected Context mContext;
protected List<T> mDatas;
protected LayoutInflater mInflater; public CommonAdapter(Context context,List<T>datas){
this.mContext=context;
this.mDatas=datas;
mInflater=LayoutInflater.from(context);
}
@Override
public int getCount() {
return mDatas.size();
} @Override
public T getItem(int position) {
return mDatas.get(position);
} @Override
public long getItemId(int position) {
return position;
} @Override
public View getView(int position, View convertView, ViewGroup parent){
ViewHolder holder=ViewHolder.get(mContext,convertView,parent, R.layout.listview_item,position);
convert(holder,getItem(position));
return holder.getConvertView();
}
public abstract void convert(ViewHolder holder,T t);
}
MyAdapterWithCommonViewHolder.java
package cn.edu.bzu.adapter; import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView; import java.util.List; import cn.edu.bzu.entity.Bean;
import cn.edu.bzu.listview_demo.R;
import cn.edu.bzu.util.CommonAdapter;
import cn.edu.bzu.util.ViewHolder; /**
* Created by monster on 2015/4/19.
* extends CommonAdapter
*/
public class MyAdapterWithCommonViewHolder extends CommonAdapter<Bean> {
// private LayoutInflater mInflater; //LayoutInflater是用来找layout下xml布局文件,并且实例化
// private List<Bean> mlist;
// private Context mcontext;
public MyAdapterWithCommonViewHolder(Context context, List<Bean> mDatas) {
super(context,mDatas);
} @Override
public void convert(ViewHolder holder, Bean bean) {
((TextView)holder.getView(R.id.id_title)).setText(bean.getTitle());
((TextView)holder.getView(R.id.id_desc)).setText(bean.getDesc());
((TextView)holder.getView(R.id.id_time)).setText(bean.getDate());
((TextView)holder.getView(R.id.id_phone)).setText(bean.getPhone());
} // @Override
// public int getCount() {
// return mlist.size();
// }
//
// @Override
// public Object getItem(int position) {
// return mlist.get(position);
// }
//
// @Override
// public long getItemId(int position) {
// return position;
// } // @Override
// public View getView(int position, View convertView, ViewGroup parent) {
// ViewHolder holder=ViewHolder.get(mContext,convertView,parent,R.layout.listview_item,position);
// ((TextView)holder.getView(R.id.id_title)).setText(mDatas.get(position).getTitle());
// ((TextView)holder.getView(R.id.id_desc)).setText(mDatas.get(position).getDesc());
// ((TextView)holder.getView(R.id.id_time)).setText(mDatas.get(position).getDate());
// ((TextView)holder.getView(R.id.id_phone)).setText(mDatas.get(position).getPhone());
// return holder.getConvertView();
// } }
【源代码下载链接:https://github.com/monsterLin/CommonAdapter_Package】
ListView优化-通用CommonAdapter编写备份的更多相关文章
- ListView优化-通用ViewHolder编写备份
ViewHolder.java package cn.edu.bzu.util; import android.content.Context; import android.util.SparseA ...
- JVM性能优化系列-(4) 编写高效Java程序
4. 编写高效Java程序 4.1 面向对象 构造器参数太多怎么办? 正常情况下,如果构造器参数过多,可能会考虑重写多个不同参数的构造函数,如下面的例子所示: public class FoodNor ...
- listview优化 汇总
1,listview加载性能优化ViewHolder 转自: http://blog.csdn.net/jacman/article/details/7087995 在android开发中Listvi ...
- Android 常驻与很驻型广播的差别,及ListView优化,Android新手基本知识巩固
1.常驻型广播 常驻型广播,当你的应用程序关闭了,假设有广播信息来,你写的广播接收器相同的能接受到. 他的注冊方式就是在你的应用程序中的AndroidManifast.xml进行注冊. 通常说这样 ...
- 内存泄露--contentView缓存使用与ListView优化
引起Android内存泄露有很多种原因,下面罗列了一些问题,以后会一一解决 1.构造Adapter时没有使用缓存convertView(衍生出ListView优化问题) 2.查询数据库游标没有关闭 3 ...
- Android——ListView优化
1.ListView基本概念 列表显示需要三个元素: ListView:用来展示列表的View. 适配器:用来把数据映射到ListView上 数据:具体的将被映射的字符串,图片或基本组件 适配器类型分 ...
- Android零基础入门第43节:ListView优化和列表首尾使用
原文:Android零基础入门第43节:ListView优化和列表首尾使用 前面连续几期都在学习ListView的各种使用方法,如果细心的同学可能会发现其运行效率是有待提高的,那么本期就来一起学习有哪 ...
- Adaptert Listview 优化
这次是关于Listview的优化的,之前一直采用愚蠢的方式来使用listview,出现的情况就是数据多的话下拉的时候会出现卡顿的情况,内存占用多.所以学习了关于listview的优化,并且这也是普遍使 ...
- Android开发之ListView详解 以及简单的listView优化
ListView列表视图 最常用的控件之一,使用场景例如:微信,手机QQ等等. android:divider:每个item之间的分割线,可以使用图片或者色值. android:dividerHeig ...
随机推荐
- 19个必须知道的Visual Studio快捷键(转)
英文原文:19 Must-Know Visual Studio Keyboard Shortcuts 本文将为大家列出在 Visual Studio 中常用的快捷键,正确熟练地使用快捷键,将大大提高你 ...
- 代码整洁--使用CodeMaid自动程序排版
在项目开发的过程中,如果只是验证命名规则.而没有统一程序排版,项目中很容易就会出现类似下列范例的程序代码产出.这样的产出,虽然能够正常地提供项目功能.并且符合微软的命名规则,但是因为程序排版凌乱的问题 ...
- python网络编程学习《一》
最近,刚实习完,很喜欢实验楼,但是自己的方向仍然不能确定,自己觉得可选择的空间很大,尽管已经是大四的人了,想到别人都在忙着买职业装,买高跟鞋面试,学习化妆什么的,看看自己,反而开始慢慢关注运动,食疗以 ...
- lecture9-提高模型泛化能力的方法
HInton第9课,这节课没有放论文进去.....如有不对之处还望指正.话说hinton的课果然信息量够大.推荐认真看PRML<Pattern Recognition and Machine L ...
- Package Control Installation
simple 用 ctrl+~ 打开 sublime 的控制台,将下面代码复制进去. sublime text2: import urllib2, os, hashlib; h = '2915d185 ...
- 转一篇关于如何在Unity里使用Protobuf
原帖地址: http://purdyjotut.blogspot.com/2013/10/using-protobuf-in-unity3d.html 先转过来,等时间合适了,再来收拾 Using P ...
- Libliner 中的-s 参数选择:primal 和dual
Libliner 中的-s 参数选择:primal 和dual LIBLINEAR的优化算法主要分为两大类,即求解原问题(primal problem)和对偶问题(dual problem).求解原问 ...
- 【抄】更改eclipse配置
序言:网上流传着eclipse更改代码提示的一种方法,在eclipse IDE可视化界面没法更改一些东西,比如content assist auto activition trigger在js里面只允 ...
- 把时间转成适合符合日常习惯的格式【js】
假设现在是7月30日12点,我们可以说今天12点,意思也非常明确. 我们习惯说昨天12点,而不习惯说29号12点. 我们习惯说周一12点,而不习惯说28号12点,这样不用翻日历看今天是几号. so,上 ...
- wsdl说明书
WSDL文档的结构实例解析 <?xml version="1.0" encoding="UTF-8"?> <definitions xmlns ...