BaseAdapter
2016-05-06 15:29
351 查看
getCount(): 适配器中的数据集中数据的个数
getIntem(int position)获取数据集中与指定索引对应的数据项
getItenId(int position)获取指定行对应的ID
getView(int position,View convertView,ViewGroup parent):获取每一个item的显示内容
——-逗比模式
———普通模式
————————文艺(优化模式)
三种不同的创建方法,原理差不多,重点内容
1:
2:
3:
-————–ViewHolder优化baseAdapter思路
getIntem(int position)获取数据集中与指定索引对应的数据项
getItenId(int position)获取指定行对应的ID
getView(int position,View convertView,ViewGroup parent):获取每一个item的显示内容
——-逗比模式
View view = mInflater.inflate(R.layout.item,null); ImageView imageView = (...)findViewById(...); imageView.setImageResource(...); return view;
———普通模式
if(concertView == null){ convertView = mInflater.inflate(R.layout.item,null); } ImageView imageView =convertView. (...)findViewById(...); imageView.setImageResource(...); return convertView;
————————文艺(优化模式)
ViewHolder viewHolder; if(converView == null){ viewHolder = new ViewHolder(); converView = mInflater.inflate(R.layout.item,null); viewHolder.imageView = converView. (...)findViewById(...); converVIew.setTag(viewHolder); }else{ viewHolder = (viewHolder) convertView.getTag(); } viewHolder.imageView.setImageResource(...); return converView; class ViewHolder{ public ImageView iamgeView; }
三种不同的创建方法,原理差不多,重点内容
1:
View contentView = View.inflate(getApplicationContext(), R.layout.popup_app_item, null);
2:
View view = null; ViewHolder holder; if (convertView == null) { LayoutInflater inflater = getLayoutInflater(); view = inflater.inflate(R.layout.listview_item, null); // view = View.inflate(getApplicationContext(), // R.layout.list_item_callsms, null); holder.tv_name = (TextView) view.findViewById(R.id.tv_app_name); view.setTag(holder); }else{ view = convertView; holder = (ViewHolder) view.getTag(); }
3:
private LayoutInflater Inflater; Inflater = LayoutInflater.from(context); if (convertView == null) { convertView = Inflater.inflate(R.layout.item, null); holder = new Hoder(convertView); convertView.setTag(holder); } else { holder = (Hoder) convertView.getTag(); }
-————–ViewHolder优化baseAdapter思路
1,创建bean对象,用于封装数据 2,在构造方法中初始化用于映射的数据List 3,创建ViewHolder类,创建布局映射关系 4,判断convertView,为空则创建,。并设置tag.否则通过Tag来取出ViewHolder 5,给ViewHolder中的控件设置数据
相关文章推荐
- aiohttp
- 不惑JAVA之JAVA基础 - String
- OpenWrt添加内核模块软件包(二)
- Hive
- Zookeeper 学习
- metaq实例
- spring boot 部署 发布
- jquery-uploadify传参方法
- 一致性哈希算法设计
- 数据库设计
- 【SSH】AOP
- simpledrawview加载大图问题
- spring整合xfire出现Document root element "beans", must match DOCTYPE root "null"错误解决方案
- 奋斗吧,程序员——第三十章 多情自古伤离别,更哪堪冷落清秋节
- uva548Tree
- Android事件处理机制
- 在线编程--约瑟夫问题I
- 如何通过Maven的Jetty插件运行Web工程
- 安卓学习记录02
- java集合------Map集合总结