为了账号安全,请及时绑定邮箱和手机立即绑定

Android必学-BaseAdapter的使用与优化

难度初级
时长45分
学习人数
综合评分9.63
243人评价 查看评价
9.9 内容实用
9.7 简洁易懂
9.3 逻辑清晰
  • ViewHolder优化BaseAdapter思路
    查看全部
    0 采集 收起 来源:总结

    2015-08-08

  • BaseAdapter基本结构 public int getCount();//适配器中数据集中数据的个数 public Object getItem(int position);//获取数据集中与指定索引对应的数据项 public long getItemId(int position);//获取指定行对应的ID public View getView(int position,View convertView,ViewGroup parent);//获取每一个Item显示内容
    查看全部
  • 计算总时间
    查看全部
    0 采集 收起 来源:深入讲解

    2015-08-08

  • 记录结束的时间
    查看全部
    0 采集 收起 来源:深入讲解

    2015-08-08

  • 测试程序:计算程序运行的时间
    查看全部
    0 采集 收起 来源:深入讲解

    2015-08-08

  • viewholder 作为findviewbyid的一个转接,避免系统大量的遍历提高效率。
    查看全部
    0 采集 收起 来源:深入讲解

    2015-08-08

  • 文艺式的好处
    查看全部
    0 采集 收起 来源:文艺式

    2015-08-08

  • 文艺式写法
    查看全部
    0 采集 收起 来源:文艺式

    2015-08-08

  • 创建内部类viewHolder
    查看全部
    0 采集 收起 来源:文艺式

    2015-08-08

  • 适配器是继承自BaseAdapter 1. 逗比式适配器 在逗比式getView()方法中,每次都会重新创建一个新的View。然后从这个View实例中找到对应的组件进行填充数据。 2. 普通式适配器 在普通式getView()方法中,先去判断当前的View是否已经缓存过,没有缓存过才去创建。 if(convertView == null) { convertView = mInflater.inflate(R.layout.item, null); } 普通式和逗比式的区别在于判断当前View实例是否被缓存过,这样就利用了ListView的缓存机制,避免了重新创建了当前View对象。因为通过inflate()转换xml到一个view的过程需要一定的时间。 3. 文艺式适配器 文艺式getView()方法是利用了ViewHolder类,优化了inflate()和findViewById()的耗时操作。 (1)创建一个ViewHolder对象,通过ViewHolder对象,就将这些通过findViewById()找到的组件对象保存到了ViewHolder对应的组件对象中 (2)通过setTag()方法将这个viewHolder和当前的view建立联系 //这样就可以将没有缓存过的View对象创建出来,并将其每个组件保存在ViewHolder对象中。 (3)当View不为空的时候就可以通过convertView.getTag()将它所关联的viewHoloder对象取出。 (4)最后通过viewHolder中保存的组件对象设置当前的view对象 //通过ViewHolder类其实是优化了findViewById()的耗时操作
    查看全部
    4 采集 收起 来源:文艺式

    2015-08-08

  • 创建内部类ViewHolder,成员变量即ImageView imageView,TextView title,TextView content.避免重复的findViewById操作,若convertView为空则通过viewHolder的成员变量将findViewById到的控件保存起来,并将convertView.setTag(viewHolder),建立一个convertView和viewHolder之间的关联关系;若convertView不为空,则可直接通过viewHolder=(ViewHolder)convertView.getTag;获取viewHolder中保存的控件,用viewHolder的成员变量设置
    查看全部
    0 采集 收起 来源:文艺式

    2015-08-08

  • BaseAdapter的三重境界之普通式
    查看全部
  • 普通式相比于逗比式只是将每次循环中自己创建的view换成getView方法中参数的convertView,调用getView方法先判断view是否为空,不为空表示已经加载过了存在于缓冲池中,不需要重新创建新的View类对象来转换布局文件,布局文件转换为View类对象也需要消耗不小的资源
    查看全部
  • 使用“逗比”方式重写BaseAdapter的严重缺点——没有利用到ListView的缓存机制,每行都是新建一个View对象。
    查看全部
  • 使用“逗比”方式重写BaseAdapter的严重缺点——没有利用到ListView的缓存机制,每行都是新建一个View对象。
    查看全部

举报

0/150
提交
取消
课程须知
本课程是Android初-中级课程 1、熟练掌握基本的Android应用程序开发方法 2、熟练掌握Android中常见的适配器的使用 3、熟练掌握BaseAdapter中各方法的意义
老师告诉你能学到什么?
1、了解ListView的缓存机制 2、 BaseAdapter的逗比式 3、 BaseAdapter的普通式 4、 BaseAdapter的文艺式

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!