安卓开发学习心得-------自定义适配器BaseAdapter基础
2016-09-05 12:53
429 查看
</pre> 自定义适配器的使用<p></p><p></p><h1><strong>1.ViewHolder优化baseAdpter的思路</strong></h1><p>--创建实体类Bean封装数据的类型</p><p>--初始化存放实体bean的ArrayList</p><p>--创建ViewHolder类,创建布局映射关系</p><p>--getView()方法中,判断convertView是否存在,为空则创建,并设置tag,否则通过tag来去除ViewHolder</p><p>--ViewHolder中的控件设置数据</p><p></p><h1>2.baseAdpater类的编写</h1><div>--声明两个变量:数据List和布局加载LayoutInflater</div><div><pre name="code" class="java"><span style="font-size:18px;">private List<String> data; private LayoutInflater mInflater;</span>--构造器方法的参数为上下文以及数据List,上下文参数用于布局的加载
<span style="font-size:18px;">public baseadapter(Context context,List<String> data){ this.data=data; mInflater=LayoutInflater.from(context); }</span>--getCount(),getItem(),getItemId()分别为数据的大小,item以及id
<span style="font-size:18px;">@Override public int getCount() { return data.size(); } @Override public Object getItem(int position) { return data.get(position); } @Override public long getItemId(int position) { return position; }</span>--ViewHolder类的编写,定义数据显示的元素
<span style="font-size:18px;">class ViewHolder{ public ImageView iamge; public TextView tv; }</span>--getView类的编写,判断convertView是否存在,为空则创建,并设置tag,否则通过tag来去除ViewHolder,
最后ViewHolder中的控件设置数据
<span style="font-size:18px;">@Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder=null; if(convertView == null){ viewHolder=new ViewHolder(); convertView=mInflater.inflate(R.layout.item,parent,false); viewHolder.iamge= (ImageView) convertView.findViewById(R.id.id_image); viewHolder.tv= (TextView) convertView.findViewById(R.id.id_tv ); convertView.setTag(viewHolder); }else{ viewHolder= (ViewHolder) convertView.getTag(); } viewHolder.iamge.setImageResource(R.mipmap.ic_launcher); viewHolder.tv.setText(data.get(position)); return convertView; }</span>
相关文章推荐
- 安卓开发学习心得-------Spinner基础
- 安卓开发学习心得-------GridView基础
- 自学安卓复习基础_之十(使用适配器BaseAdapter来实现listView的CRD)
- 安卓开发学习心得-------ListView基础
- Android开发学习之路-自定义ListView(继承BaseAdapter)
- android-继承BaseAdapter自定义适配器基础
- android-继承BaseAdapter--自定义适配器,getView执行多次的解决方法
- 安卓开发_浅谈ListView(SimpleAdapter数组适配器)
- asp.net控件开发基础(9) ----------再谈属性,学习自定义类型转换器
- 【转】 android-继承BaseAdapter--自定义适配器,getView执行多次的解决方法
- 安卓基础学习-搭建开发环境和HelloWord(一)
- Android中自定义适配器BaseAdapter基本用法
- Gson 基础教程 —— 自定义类型适配器(TypeAdapter)
- 安卓开发自定义View的框架学习
- 安卓开发笔记——打造万能适配器(Adapter)
- 自定义ListView适配器继承BaseAdapter
- Android项目之HomeHealth基础学习1:Baseadapter
- BaseAdapter自定义适配器——思路详解
- android学习摘记——自定义Adapter的心得
- java基础学习心得——自定义函数实现LineNumberReader