Android(安卓)Adapter适配器模板(笔记)
16lz
2021-01-24
做个笔记,Adapter的使用模板。
在Android中Adapter使用十分广泛,特别是在list中。所以adapter是数据的“集散地”,所以对其进行内存优化是很有必要的。下面算是一个标准的使用模板:主要使用convertView和ViewHolder来进行缓存处理
(注:以前在使用adapter的时候从来都不定义ViewHolder,一直都是直接对convertView进行加载,今后用到adapter时,尽量采用以下模板实现)
具体的实现运行大家自己动手完成就OK(So easy的事吧)!
package com.weiwend.selected;import com.weiwend.wj.testactivity.R;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;public class adapter extends BaseAdapter {private Context context;private LayoutInflater inflater;public adapter(Context context) {super();this.context = context;inflater=LayoutInflater.from(context);}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn 0;}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn null;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn 0;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stubViewHolder vHolder=null;// 如果convertView对象为空,则创建新对象,不为空则复用if(convertView==null){//创建ViewHolder对象vHolder=new ViewHolder();convertView=inflater.inflate(R.layout.item_list, <span style="color:#ff0000;">null</span>);vHolder.img=(ImageView) convertView.findViewById(R.id.iv);vHolder.tv=(TextView) convertView.findViewById(R.id.tv);//将ViewHolder保存到Tag中(Tag中可以保存Object类型数据,所以任何东西都可以保存在Tag中)convertView.setTag(vHolder);}else{//当convertView不为空时,通过getTag()得到viewvHolder=(ViewHolder) convertView.getTag();}//给对象赋值,修改显示的值vHolder.img.setBackgroundResource(...);vHolder.tv.setText(...);return convertView;}//将显示的View包装成类static class ViewHolder{TextView tv;ImageView img;}}
更多相关文章
- android连网详解
- Android弹幕实现:基于B站弹幕开源系统(2)
- Android(安卓)分析内存的使用情况
- android ExpandableListView ExpandableListAdapter使用
- android数据存取的四种方式
- Android学习笔记(9)——ListView简介
- Android(安卓)应用程序之间数据共享 - ContentProvider
- Android从零开始搭建MVVM架构(4)——LiveData
- Android(安卓)kxml解析WBXML