Android中BaseAdapter使用基础点
Android中要填充一些控件(如ListView)经常须要用到Adapter来实现,经常使用的有ArrayAdapter,SimpleAdapter,
CursorAdapter,BaseAdapter,前几个都是继承自BaseAdapter的。
我平时经常使用的就是ArrayAdapter,再就是
BaseAdapter了,SimpleAdapter本身事实上也不算简单。所以能用SimpleAdapter的时候我一般都用了BaseAdapter。
至于CuesorAdapter我就差点儿没用过。今天事实上是有点忘了BaseAdapter怎么用了,在这记一下,以备后用,
也就主要是讲须要注意的东西。
1.BaseAdapter一般来说都是要重写构造方法的。
事实上BaseAdapter总体而言还是比較好使用的,主要就实现四个抽象方法。可是当时突然想不起来怎么把数据传递过去了,自然就想到了构造方法。看了曾经的代码,知道了。所以这里就有个结论:要用BaseAdapter就要重写构造方法。
2 .BaseAdapter中要有Context对像。
由于BaseAdapter要填充自己写的View。所以就要用到一个LayoutInflater对象,而要获得LayoutInflater对象就须要用到LayoutInflater.from(context);方法。所以由此看来。又要记住一个小结论:要使用BaseAdapter就要定义一个Context。
要用到这个Context对象,还是要传递了,那么进而再得到一个结论:要使用BaseAdapter要在构造方法中至少传入一个Context对象參数。
3 .要使用ViewHolder类,里面包括自己定义布局里的控件。
我们知道ListView之类的须要优化。不然的话一直填充比較占内存,极端的时候可能发生内存不足的情况导致程序FC,所以就自定一个内部类ViewHolder来进行优化。所以我们再次得到一个结论:要使用BaseAdapter就自己定义一个ViewHolder类。用到的时候就实例化一个ViewHolder对象。
当convertView== null时。通过convertView = inflater.inflate(R.layout.list_item, null);
初始化布局,然后初始化布局中的控件,之后调用
convertView.setTag(viewHolder);
else{
viewHolder= (ViewHolder) convertView.getTag();
}
就是又一次获得组件。而不是又一次初始化。
Android中BaseAdapter使用基础点的更多相关文章
- Android中BaseAdapter的基本用法和加载自定义布局!
public class MainActivity extends Activity { ListView listView = null; @Override protected void onCr ...
- Android应用项目中BaseAdapter、SimpleAdapter和ArrayAdapter中的三种适配器
一.写在前面: 本次我们来讲解一下Android应用中三个适配器:BaseAdapter.SimpleAdapter和ArrayAdapter.其中常见的是BaseAdapter,也是个人推荐使用的适 ...
- Android中Adapter之BaseAdapter使用
Android界面中有时候需要显示稍微复杂的界面时,就需要我们自定义一个adapter,而此adapter就要继承BaseAdapter,重新其中的方法. Android中Adapte ...
- 43.Android之ListView中BaseAdapter学习
实际开发中个人觉得用的比较多是BaseAdapter,尽管使用起来比其他适配器有些麻烦,但是使用它却能实现很多自己喜欢的列表布局,比如ListView.GridView.Gallery.Spinner ...
- Android 中万能的 BaseAdapter(Spinner,ListView,GridView) 的使用!
大家好!今天给大家讲解一下BaseAdapter(基础适配器)的用法,适配器的作用主要是用来给诸如(Spinner,ListView,GridView)来填充数据的.而(Spinner,ListVie ...
- Android中的自定义Adapter(继承自BaseAdapter)——与系统Adapter的调用方法一致——含ViewHolder显示效率的优化(转)
Android中很多地方使用的是适配器(Adapter)机制,那我们就要好好把这个Adapter利用起来,并且用出自己的特色,来符合我们自行设计的需要喽~~~ 下面先上一个例子,是使用ViewHold ...
- 使用具体解释及源代码解析Android中的Adapter、BaseAdapter、ArrayAdapter、SimpleAdapter和SimpleCursorAdapter
Adapter相当于一个数据源,能够给AdapterView提供数据.并依据数据创建相应的UI.能够通过调用AdapterView的setAdapter方法使得AdapterView将Adapter作 ...
- Android中ListView实现图文并列并且自定义分割线(完善仿微信APP)
昨天的(今天凌晨)的博文<Android中Fragment和ViewPager那点事儿>中,我们通过使用Fragment和ViewPager模仿实现了微信的布局框架.今天我们来通过使用Li ...
- Android笔记——BaseAdapter的使用
Android中的适配器(Adapter)是数据与视图(View)之间的桥梁,用于对要显示的数据进行处理,并通过绑定到组件进行数据的显示. BaseAdapter是Android应用程序中经常用到的基 ...
随机推荐
- Codevs 搜索刷题 集合篇
2919 选择题 时间限制: 1 s 空间限制: 16000 KB 题目等级 : 黄金 Gold 题目描述 Description 某同学考试,在N*M的答题卡上写了A,B,C,D四种答案. 他做完了 ...
- 使用C#的BitmapData
原文发布时间为:2009-01-16 -- 来源于本人的百度文章 [由搬家工具导入] 我在前两篇图片处理的文章里几乎都用BitmapData来做图片处理的,那么这个东东究竟是个什么玩意儿呢? C#好是 ...
- AVRStudio 6 添加调试功能
下载这个文件并安装就可以了:http://avr-jungo-usb.software.informer.com/download/ 具体可以看这个贴子:http://electronics.stac ...
- 极致 Web 性能 —— SPA 性能指南
前言 前端框架时代,为开发体验.效率与页面性能带来,非常大的革命.大家纷纷拿起一系列打包工具(webpack/parcel etc.),配合一系列加载器快速搭建起一个 SPA 页面. SPA 应用带来 ...
- Python 函数的一般形式及参数
#!/usr/bin/env python # -*- coding:utf-8 -*- # @Time : 2017/11/01 21:46 # @Author : lijunjiang # @Fi ...
- mysql 更新数据
set @num= 1000;update table set a= @num:=@num+1; set @date=now();UPDATE Orders t SET t.CreateTime = ...
- SSH架构BaseDao实现
package cn.itcast.dao; import java.io.Serializable; import java.util.List; /** * BaseDao * @author A ...
- jquery -----简单分页
<!DOCTYPE html> <head> <title>无标题页</title> <script src="javsscript/j ...
- AC日记——线段树练习三 codevs 1082 (分块尝试)
线段树练习 3 思路: 分块: 来,上代码: #include <cmath> #include <cstdio> #include <cstring> #incl ...
- ngrx/store effects 使用总结2:列表展示
第一个计数器案例:http://www.cnblogs.com/axel10/p/8589122.html 完成了计数器案例后,现在开始比较能够完整的展示angular2+开发流程的案例:在线获取用户 ...