BaseAdapter
来源:互联网 发布:淘宝买自行车靠谱吗 编辑:程序博客网 时间:2024/06/11 02:10
getCount(): 适配器中的数据集中数据的个数
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,在构造方法中初始化用于映射的数据List3,创建ViewHolder类,创建布局映射关系4,判断convertView,为空则创建,。并设置tag.否则通过Tag来取出ViewHolder5,给ViewHolder中的控件设置数据
0 0
- BaseAdapter
- baseAdapter
- BaseAdapter
- BaseAdapter
- BaseAdapter
- BaseAdapter
- baseAdapter
- BaseAdapter
- BaseAdapter
- BASEAdapter
- BaseAdapter
- BaseAdapter......
- BaseAdapter
- BaseAdapter
- BaseAdapter
- BaseAdapter
- BaseAdapter
- BaseAdapter
- iOS之'mutating method sent to immutable object'
- java集合------Map集合总结
- Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled.
- 一致性哈希算法设计
- NBU 水水更健康 (二)
- BaseAdapter
- Zookeeper 学习
- mysql 中 character set 与 collation
- DRAM, SRAM, SDRAM的关系与区别
- 应用内跳转到设置里本应用的通知界面
- Unity中的layer和tag
- OpenWrt添加内核模块软件包(二)
- Hive
- Codeforces Round #350 (Div. 2)(D)优先队列