为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Android必学-BaseAdapter的使用与优化_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

Android必学-BaseAdapter的使用与优化

eclipse_xu 移动开发工程师
难度初级
时长45分
  • 1、BaseAdapter的三重境界之普通式的特点: (1)利用了ListView的缓存特性,若没有缓存才创建新的View, (2)但是findViewById依然会浪费大量时间; 2、普通式与逗比式的差别 相比于逗比式只是将每次循环中自己创建的view换成getView方法中参数的convertView,调用getView方法先判断view是否为空,不为空则表示已经加载过了存在于缓冲池中,不需要重新创建新的View类对象来转换布局文件; BaseAdapter的普通式: 充分利用ListView的缓存机制,如果没有缓存才创建新的view. 但是findViewById依然会浪费大量的时间。
    查看全部
  • 新建数据适配器: 1.创建一个MyAdapter.java类,继承BaseAdapter,成员变量mList,在MyAdapter的构造方法中保存传进来的List<ItemBean>类型的数据源。 2.getCount()方法返回ListView需要显示的数据数量 mList.size()获取数据源的数据数量 getItem()方法取指定索引的数据项,mList.get(position)获取position getItemId()方法获取索引项,直接返回position getView()方法返回数据项显示的内容:/*逗比式,不考虑优化,每次创建新的view,效率低下*/ *通过LayoutInflater方法将一个xml文件转换为view对象(之后才能进行控件的初始化findviewbyid操作) ----成员变量LayoutInflater mInflater;//布局装载器对象 ----mInflater=LayoutInflater.from(context);//context是要使用当前的Adapter的界面对象 *View view=mIflater.inflate(R.layout.item,null) *对封装的控件分别进行初始化操作 3.MainActivity中初始化ListView控件,并配置适配器listView.setAdapter(new MyAdapter(this,itemBeanList));
    查看全部
  • Adapter继承自BaseAdapter 中的将XML转换为View对象: LayoutInflater mInflater; mInflater=LayoutInflatet.from(context) 在getView中通过 View view=(View)mInflater.inflate(R.layout.xxx,null)加载Item布局转换为View对象 通过View对象访问到Item布局中的控件 ImageView image=(ImageView)view.findViewById(R.id.xxx) 然后通过 image.setImageResource(mlist.getItem(position).XXXid)设置图片 数据源绑定到ListView上: listView.setAdapter(new MyAdapter(this,datalist数据源))
    查看全部
  • *创建一个ItemBean.java文件来封装ListView中的控件。 并在封装文件中写构造函数对成员变量进行初始化。 *创建数据源时,将数据源的类型直接定义为List<ItemBean>,List<ItemBean> itemBeanList=new ArrayList<>();再用循环给ListView的每一行进行赋值。
    查看全部
  • ItemBean的使用: 我们通常创建一个Bean对象来表示listView中一行显示的数据。 创建List<ItemBean> itemBeanList=new ArrayList<>(); 通过for循环来添加数组内容
    查看全部
  • item.xml
    查看全部
  • 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文艺式 1、ViewHolder: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()的耗时操作
    查看全部
    0 采集 收起 来源:文艺式

    2016-07-10

  • 数据适配器的关系
    查看全部
  • viewhold优化
    查看全部
    0 采集 收起 来源:文艺式

    2016-07-09

  • 初始化context
    查看全部
  • baseadapter
    查看全部
  • 数据适配器
    查看全部

举报

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

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