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

Android必学-BaseAdapter的使用与优化

难度初级
时长45分
学习人数
综合评分9.63
243人评价 查看评价
9.9 内容实用
9.7 简洁易懂
9.3 逻辑清晰
  • 猴子青睐的逗比式
    查看全部
  • BaseAdapter
    查看全部
  • convertView.getTag()将该convertView对应的viewHolder取出来
    查看全部
    0 采集 收起 来源:文艺式

    2016-02-24

  • 利用构造方法初始化变量
    查看全部
  • 通过构造方法来访问对象的属性? “构造方法的初衷是完成初始化动作”
    查看全部
  • 为什么当声明mInflater时,要在MyAdapter()方法中加上Context参数
    查看全部
  • 普通式
    查看全部
  • 数据适配器——BaseAdapter——ViewHolder优化BaseAdapter思路 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
    0 采集 收起 来源:总结

    2016-08-26

  • 小技巧:对于一些细微的程序比较效率用获取系统纳秒时间方法 关键代码: long start =System.nanoTime(); ... long end =System.nanoTime(); long dValue=end-start; 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
    0 采集 收起 来源:深入讲解

    2016-08-26

  • BaseAdapter的三样式 IV //文艺式:不仅利用了ListView的缓存,更通过ViewHolder类来实现显示数据的视图的缓存,避免多次通过findViewById寻找控件。 ViewHolder viewHolder; if(convertView==null){ viewHolder=new ViewHolder(); convertView=mInflater.inflate(R.layout.item, null); viewHolder.iv=(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();//getTag()取出关联的ViewHolder } //通过ViewHolder对象找到对应控件 ItemBean bean=list.get(position); viewHolder.iv.setImageResource(bean.ImageRes); viewHolder.title.setText(bean.title); viewHolder.content.setText(bean.content); return convertView; } class ViewHolder{//避免重复的findViewById public ImageView iv; public TextView title; public TextView content; } } 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
    0 采集 收起 来源:文艺式

    2016-08-26

  • BaseAdapter的三样式 III //普通式:利用了ListView的缓存特性,如果没有缓存才创建新的View,算入门,但是findViewById依然会浪费大量时间。 /*if(convertView==null){//为空:View未被实例化,缓存池中无缓存 convertView=mInflater.inflate(R.layout.item, null);//此操作也是非常耗时,避免重复创建大量的convertView } ImageView iv=(ImageView) convertView.findViewById(R.id.iv_image); TextView title=(TextView) convertView.findViewById(R.id.tv_title); TextView content=(TextView) convertView.findViewById(R.id.tv_content); ItemBean bean=list.get(position); iv.setImageResource(bean.ImageRes); title.setText(bean.title); content.setText(bean.content); return convertView;*/ ... 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
    0 采集 收起 来源:文艺式

    2016-08-26

  • BaseAdapter的三样式 II @Override public int getCount() { // TODO 自动生成的方法存根 return list.size(); } @Override public Object getItem(int position) { // TODO 自动生成的方法存根 return list.get(position); } @Override public long getItemId(int position) { // TODO 自动生成的方法存根 return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { /** * 返回每一项显示的内容 */ //逗比式:没有利用到ListView的缓存机制,没有任何优化处理,每次都创建新的View,设置控件,效率极其低下。 /*View view=mInflater.inflate(R.layout.item, null);//第一参数:需要装载到item中的布局文件;第二参数:通常为null。 ImageView iv=(ImageView) view.findViewById(R.id.iv_image); TextView title=(TextView) view.findViewById(R.id.tv_title); TextView content=(TextView) view.findViewById(R.id.tv_content); ItemBean bean=list.get(position); iv.setImageResource(bean.ImageRes); title.setText(bean.title); content.setText(bean.content); return view;*/ ... 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
    0 采集 收起 来源:文艺式

    2016-08-26

  • BaseAdapter的三样式 I public class ItemBean { public int ImageRes; public String title; public String content; public ItemBean(int imageRes, String title, String content) { super(); ImageRes = imageRes; this.title = title; this.content = content; } } //另类 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { ... List<ItemBean> itemBeanList = new ArrayList<ItemBean>(); for (int i = 0; i < 20; i++) { itemBeanList.add(new ItemBean(R.drawable.ic_launcher, "我是标题" + i, "我是内容" + i)); } ListView listView=(ListView) findViewById(R.id.listView1); listView.setAdapter(new MyAdapter(this, itemBeanList)); } } //另类 public class MyAdapter extends BaseAdapter { private List<ItemBean> list; private LayoutInflater mInflater; public MyAdapter(Context context,List<ItemBean> list) {//数据源和适配器进行关联 this.list = list; //context:要使用当前的Adapter的界面对象 //mInflater:布局装载器对象 mInflater=LayoutInflater.from(context); } ...
    查看全部
    0 采集 收起 来源:文艺式

    2018-03-22

  • 数据适配器——BaseAdapter——BaseAdapter基本结构 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • 数据适配器——BaseAdapter——ListView的显示与缓存机制 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部

举报

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

微信扫码,参与3人拼团

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

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