ListView 适配器BaseAdapter配置
来源:互联网 发布:可信金融软件 编辑:程序博客网 时间:2024/06/05 06:51
ListView 适配器BaseAdapter配置
ListView需要
- 数据(一般为ArrayList数组对象)
- 布局文件(用于确定LisetView中每一项显示的布局方式)
- 适配器(一般继承自BaseAdapter)
Adapetr 中的主要方法
- public int getCount();一般返回ArrayList数组的size()
- public Object getItem(int position);用于获取Item对象
- public long getItemId(int position);用于获取Item索引值一般返回position
- public View getView(int position, View convertView, ViewGroup parent);最关键的一个方法,用于获取每个Item的View,布局用于显示
一般会自定义一个Adapter继承BaseAdapter并重写构造方法
private LayoutInflater mInflater;
public ListNewsAdapter(Context context) {
mInflater = LayoutInflater.from(context);
}
getView(int position, View convertView, ViewGroup parent)的三种实现方法
1.文艺方法(最优化,不浪费时间与内存的方法)
1) 自定义一个ViewHolder类
public class ViewHolder { public ImageView ivPic; public TextView tvTitle; public TextView tvDate; }
2)使用ViewHolder绑定convertView里面的各个控件,再用convertView的setTag将viewHolder设置到Tag中,以便系统第二次绘制ListView时从Tag中取出。
public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { holder = new ViewHolder(); convertView = mInflater.inflate(R.layout.list_news_item, null); holder.ivPic = (ImageView) convertView .findViewById(R.id.iv_pic); holder.tvTitle = (TextView) convertView .findViewById(R.id.tv_title); holder.tvDate = (TextView) convertView .findViewById(R.id.tv_date); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.ivPic .setBackgroundResource(R.drawable.pic_item_list_default); holder.tvTitle.setText("题目"); holder.tvDate.setText("时间"); return convertView; }
此方法主要优化了两点
- 相比于逗比方法利用上ListView的缓存池机制(convertView)
- 相比于普通方法利用静态类映射convertView中的各个控件,无需反复findViewById
0 0
- ListView 适配器BaseAdapter配置
- BaseAdapter 作为 ListView 适配器
- ListView适配器BaseAdapter
- ListView适配器BaseAdapter
- 自定义ListView ,适配器(BaseAdapter)
- listview适配器Baseadapter
- 自定义ListView适配器继承BaseAdapter
- android listview的适配器------baseadapter
- ListView的优化 +BaseAdapter适配器
- listView适配器之BaseAdapter详解
- ListView的适配器BaseAdapter使用详解
- Android学习ListView自定义布局,适配器BaseAdapter
- 关于ListView使用BaseAdapter和SimpleAdapter适配器
- Android组件ListView的适配器BaseAdapter
- ListView (3) 之适配器 ArrayAdapter/SimpleAdapter/BaseAdapter
- ListView适配器之增强版BaseAdapter
- BaseAdapter自定义适配器及ListView的优化
- ListView控件:(3)BaseAdapter适配器生成
- Tomcat在Linux上的安装与配置
- tcpdump抓取HTTP包
- 35. Quartz 2D初探
- 仿知乎日报列表-加载网络数据
- Ubuntu下的抓包工具tcpdump
- ListView 适配器BaseAdapter配置
- Trick(十三)—— 数学与函数
- 数据结构实验之链表九:双向链表
- 实用Google 搜索方法总结(持续更新)
- 数据结构——循环单链表和双向链表
- PHP文件操作之文件的类型和属性
- 快速排序
- Javaweb实训项目中使用到的ajax
- jQuery on的用法