BaseAdapter用法详解
来源:互联网 发布:java jdk1.7 32位下载 编辑:程序博客网 时间:2024/06/11 15:29
一,ListView与BaseAdapter
Data Source---Adapter---ListView
数据通过Adapter与ListView相互交互
二,BaseAdapter的基本结构(核心所在)
public int getCount(){return list.size();}public Object getItem(int position){return list.get(position);}public long getItemId(int position){return position;}public View getView(int position, View convertView, ViewGroup parent)
注:方法的实现应根据自己创建的Adapter对象而实现,应该在第三步后面,由于比较简单,这里为了简便,我就直接实现了(List对象见下面所示)。其中最重要的方法是实现getView对象。
三,步骤
1,创建XML(layout)文件(在下面的例子中是item.xml文件)
2,创建数据源(Java类)
public class ItemBean(){...}
3,创建适配器(Java类),继承BaseAdapter
public class MyAdapter extends BaseAdapter(){...}
将数据源与适配器关联(在适配器的构造方法中)
实现getView方法:private List<ItemBean> list;public MyAdapter(List<ItemBean> list) { this.list = list;}
使用ViewHoder方法(例子如下):
public View getView(int position, View convertView, ViewGroup parent) { //绑定ViewHoder与convertView //使用convertView实现ListView显示与缓存机制 //ListView的显示与缓存机制核心内容:需要才显示,显示完毕后被回收到缓存 ViewHoder viewHoder; if(convertView==null){ viewHoder=new ViewHoder(); convertView=inflater.inflate(R.layout.item,null); //item布局文件中控件 viewHoder.imageView= (ImageView) convertView.findViewById(R.id.ivImage); viewHoder.tvTitle= (TextView) convertView.findViewById(R.id.tvTitle); viewHoder.tvContent= (TextView) convertView.findViewById(R.id.tvContent); convertView.setTag(viewHoder); }else{ viewHoder= (ViewHoder) convertView.getTag(); } //实现传值 ItemBean bean=list.get(position); viewHoder.imageView.setImageResource(bean.ItemImageResid); viewHoder.tvTitle.setText(bean.ItemTitle); viewHoder.tvContent.setText(bean.ItemContent); return convertView;}//避免重复的findViewById 节约时间class ViewHoder{ public ImageView imageView; public TextView tvTitle; public TextView tvContent;}四,实现了上述方法后,在主函数中绑定Adapter与ListView
List<ItemBean> beanList=new ArrayList<>();for (int i = 0; i < 10; i++) { beanList.add(new ItemBean(R.mipmap.icon,"我是标题"+i,"我是内容"+i));}ListView listview= (ListView) findViewById(R.id.ivMain);listview.setAdapter(new MyAdapter(this,beanList));注:BaseAdapter的用法基本如上述,内容整理的比较乱,更多可以访问慕客网
Android必学-BaseAdapter的使用与优化
这节课程,在里面老师有更加详细的讲解。 0 0
- BaseAdapter用法详解
- baseAdapter用法
- BaseAdapter 详解
- BaseAdapter详解
- ListView中的BaseAdapter用法
- Android BaseAdapter用法
- BaseAdapter GridView 用法
- BaseAdapter基本用法
- BaseAdapter基本用法
- BaseAdapter基本用法
- BaseAdapter用法(一)
- BaseAdapter的用法
- BaseAdapter的详细用法
- 关于BaseAdapter的用法
- Android BaseAdapter使用详解
- Android 适配器BaseAdapter详解
- Android适配器BaseAdapter详解
- ListView之BaseAdapter详解
- AndroidStudio常用快捷键
- jquery小技巧(未完待续)
- IOS学习之—— 常用小功能,打电话 发短信 发邮件
- 关于xcode——tabbed
- windowbuilder入门
- BaseAdapter用法详解
- 【LeetCode-24】Swap Nodes in Pairs
- POJ 2446
- 大正整数数相加以及相乘
- HDU 2461 Rectangles
- Linux Is Not Matrix——zabbix添加新主机
- Ubuntu SecureCRT 破解
- 虚拟机VMWare安装RHEL 7.0以及安装配置LAMP环境(Apache+PHP+MariaDB)
- Android基础--View的生命周期