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

Android必学-BaseAdapter的使用与优化

难度初级
时长45分
学习人数
综合评分9.63
243人评价 查看评价
9.9 内容实用
9.7 简洁易懂
9.3 逻辑清晰
  • 自定义适配器
    查看全部
    0 采集 收起 来源:文艺式

    2016-07-22

  • ViewHolder优化BaseAdapter 1.创建bean对象,用于封装数据 2.在构造方法中初始化用于映射的数据源list 3.创建ViewHolder类,创建布局映射关系 4.判断convertView,为空则创建,并设置tag,否则通过tag来取出ViewHolder 5.给ViewHolder中的控件设置数据
    查看全部
    0 采集 收起 来源:总结

    2016-07-21

  • 对于一些细微的程序比较效率用获取系统纳秒时间方法 关键代码: long start =System.nanoTime(); ... long end =System.nanoTime(); long dValue=end-start; viewholder 作为findviewbyid的一个转接,避免系统大量的遍历提高效率。
    查看全部
    0 采集 收起 来源:深入讲解

    2016-07-21

  • BaseAdapter文艺式 1、ViewHolder:getView()方法是利用了ViewHolder类,优化了inflate()和findViewById()的耗时操作。 (1)创建一个ViewHolder对象,通过ViewHolder对象,就将这些通过findViewById()找到的组件对象保存到了ViewHolder对应的组件对象中 (2)通过setTag()方法将这个viewHolder和当前的view建立联系
    查看全部
    0 采集 收起 来源:文艺式

    2016-07-21

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

    2016-07-21

  • Adapter继承自BaseAdapter 中的将XML转换为View对象: LayoutInflater mInflater; mInflater=LayoutInflatet.from(context)
    查看全部
  • *创建一个ItemBean.java文件来封装ListView中的控件。 并在封装文件中写构造函数对成员变量进行初始化。 *创建数据源时,将数据源的类型直接定义为List<ItemBean>,List<ItemBean> itemBeanList=new ArrayList<>();再用循环给ListView的每一行进行赋值。
    查看全部
  • 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显示内容
    查看全部
  • ListView的显示和缓存机制 总结来讲: 需要才显示,显示完就被回收到缓冲池中。 1. 屏幕上滑时,先将item1回收到View缓冲池中 2. 新要显示的item8从View缓冲池中取出,并重新设置好item8所要显示的数据 3. item8显示出来
    查看全部
  • 1.什么是数据适配器:通过数据适配器,我们可以将数据源和UI控件联系起来。 2.数据适配器adapter的作用就是将多种多样的数据源适配成listView可以读取的模式。 (1)降低程序的耦合性 (2)容易扩展 3.最常用的数据适配器:BaseAdapter
    查看全部
  • baseadapter
    查看全部
    0 采集 收起 来源:总结

    2016-07-20

  • BaseAdapter的文艺式 代码: public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder; if (convertView==null) { viewHolder = new ViewHolder(); convertView = mInflater.inflate(R.layout.item, null); viewHolder.imageView = (ImageView) convertView.findViewById(R.id.iv_image); viewHolder.title = (TextView) convertView.findViewById(R.id.tv_title); viewHolder.content = (TextView) convertView.findViewById(R.id.tv_content); convertView.setTag(viewHolder); //通过setTag将ViewHolder与ConvertView绑定 }else { viewHolder= (ViewHolder) convertView.getTag(); } //取出 viewHolder.imageView.setImageResource(mList.get(position).ItemImageResid); viewHolder.title.setText(mList.get(position).ItemTitle); viewHolder.content.setText(mList.get(position).ItemContent); return convertView; } class ViewHolder{ private ImageView imageView; private TextView title; private TextView content; }
    查看全部
  • 这节课很重要,很好,文艺
    查看全部
    0 采集 收起 来源:文艺式

    2016-07-19

  • ViewHolder holder = null; if (convertView == null) { holder = new ViewHolder(); convertView = mLayoutInflater.inflate(R.layout.item, null); holder.img = (ImageView) convertView.findViewById(R.id.iv_image); holder.title = (TextView) convertView.findViewById(R.id.tv_title); holder.content = (TextView) convertView.findViewById(R.id.tv_content); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } ItemBean bean = mDataList.get(position); holder.img.setImageResource(bean.itemImageResid); holder.title.setText(bean.itemTitle); holder.content.setText(bean.itemContent); return convertView; } // ViewHolder用于缓存控件 class ViewHolder{ public ImageView img; public TextView title; public TextView content; }
    查看全部
  • // 普通式 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> // 获取纳秒时间 更加精确 long start = System.nanoTime(); if (convertView == null) { // 由于我们只需要将XML转化为View,并不涉及到具体的布局,所以第二个参数通常设置为null convertView = mLayoutInflater.inflate(R.layout.item, null); } ImageView itemImage = (ImageView) convertView.findViewById(R.id.iv_image); TextView itemTitle = (TextView) convertView.findViewById(R.id.tv_title); TextView itemContent = (TextView) convertView.findViewById(R.id.tv_content); // 取出bean对象 ItemBean bean = mDataList.get(position); // 设置控件的数据 itemImage.setImageResource(bean.itemImageResid); itemTitle.setText(bean.itemTitle); itemContent.setText(bean.itemContent); long end = System.nanoTime(); long dValue = end - start; mSumTime += dValue; // 输出每次getView消耗的时间和 Log.d("xys", String.valueOf(mSumTime)); return convertView;
    查看全部

举报

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

微信扫码,参与3人拼团

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

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