class MyAdapter extends BaseAdapter {
        //返回要显示的条目的数量
        @Override
        public int getCount() {
            return list.size();
        }
 
        //获取条目
        @Override
        public Object getItem(int position) {
            return list.get(position);
        }
 
        //获取条目的id
        @Override
        public long getItemId(int position) {
            return 0;
        }
 
        //返回一个view对象,会作为listView的一个条目显示在界面上
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View v = null;
            ViewHolder mHolder = null;
            if (convertView == null) {   //如果缓存为空,则重新填充布局文件
                v = View.inflate(AddMerryActivity.this, R.layout.list_item_merry, null);  //采用填充的方式
                //创建ViewHolder,封装所有条目使用的组件
                mHolder = new ViewHolder();
 
                mHolder.tv_time = (TextView) v.findViewById(R.id.time_merry);  //时间
                mHolder.tv_content = (EditText) v.findViewById(R.id.content_merry); //内容
//                mHolder.siv = (SmartImageView) v.findViewById(R.id.head_merry);  //头像
                //将ViewHolder封装至View对象中,这样View被缓存时,ViewHolder也被缓存了
                v.setTag(mHolder); //设置一个标签,将一个对象存到View中,是一个Object类型
            } else {   //如果缓存不为空,直接调用缓存
                v = convertView;   //convertView 缓存的条目
                //从View中取出保存的ViewHolder,ViewHolder中就有所有组件对象,不需要再去findViewById
                mHolder = (ViewHolder) v.getTag();
            }
            // 改变每个条目显示的内容,找到布局文件中对应的组件
            mHolder.tv_time.setText(textTime.getText().toString());
            mHolder.tv_content.setText(editContent.getText().toString());
//            mHolder.siv.setImageUrl("head_portrait");
            return v;
        }
    }
 
    //把条目需要使用到的所有组件封装到这个类中
    class ViewHolder {
        TextView tv_time;
        EditText tv_content;
//        SmartImageView siv;
    }

Android ListView 的基本应用,包括缓存的更多相关文章

  1. 【腾讯Bugly干货分享】Android ListView与RecyclerView对比浅析--缓存机制

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/5811d3e3ab10c62013697408 作者:黄宁源 一,背景 Recy ...

  2. [转]Android ListView 与 RecyclerView 对比浅析—缓存机制

    从源码角度剖析ListView 与 RecyclerView 缓存机制的不同 https://zhuanlan.zhihu.com/p/23339185 原文地址:http://dev.qq.com/ ...

  3. android ListView优化

    android ListView通过优化重用历史缓存实现.listview相应的数据适配器一般使用自己定义BaseAdapter子类,重用历史缓冲区来提高性能. 例如,下面的示例代码演示: 1.lis ...

  4. Android ListView工作原理全然解析,带你从源代码的角度彻底理解

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/44996879 在Android全部经常使用的原生控件其中.使用方法最复杂的应该就是 ...

  5. Android ListView 常用技巧

    Android ListView 常用技巧 Android TextView 常用技巧 1.使用ViewHolder提高效率 ViewHolder模式充分利用了ListView的视图缓存机制,避免了每 ...

  6. Android listview addHeaderView 和 addFooterView 详解

    addHeaderView()方法:主要是向listView的头部添加布局addFooterView()方法:主要是向listView的底部添加布局 需要注意的是添加布局的时候应该添加从父容器开始添加 ...

  7. Android ListView滑动过程中图片显示重复错乱闪烁问题解决

    最新内容建议直接访问原文:Android ListView滑动过程中图片显示重复错乱闪烁问题解决 主要分析Android ListView滚动过程中图片显示重复.错乱.闪烁的原因及解决方法,顺带提及L ...

  8. [置顶] android ListView包含Checkbox滑动时状态改变

    题外话: 在xamarin android的开发中基本上所有人都会遇到这个小小的坎,的确有点麻烦,当时我也折腾了好一半天,如果你能看到这篇博客,说明你和我当初也是一样的焦灼,如果你想解决掉这个小小的坎 ...

  9. ListView与RecyclerView对比浅析——缓存机制

    https://www.jianshu.com/p/193fb966e954 一,背景 RecyclerView是谷歌官方出的一个用于大量数据展示的新控件,可以用来代替传统的ListView,更加强大 ...

  10. Android ListView的item背景色设置以及item点击无响应等相关问题

    Android ListView的item背景色设置以及item点击无响应等相关问题 在Android开发中,listview控件是非常常用的控件,在大多数情况下,大家都会改掉listview的ite ...

随机推荐

  1. VS2013问题与解决方法

    问题: Getting Error "'Microsoft.VisualStudio.Editor.Implementation.EditorPackage' package did not ...

  2. [转]NET Core中实现一个Token base的身份认证

    本文转自:http://www.cnblogs.com/Leo_wl/p/6077203.html 注:本文提到的代码示例下载地址> How to achieve a bearer token ...

  3. NOIP2015斗地主[DFS 贪心]

    题目描述 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游戏.在斗地主中,牌的大小关系根据牌的数码表示如下:3<4< ...

  4. COGS182 [USACO Jan07] 均衡队形[RMQ]

    182. [USACO Jan07] 均衡队形 ★★   输入文件:lineup.in   输出文件:lineup.out   简单对比时间限制:4 s   内存限制:128 MB 题目描述 农夫约翰 ...

  5. 2016的ChinaJoy沦为ChinaVR?

    China Joy已沦为ChinaVR,厂商烧钱参加? 在上海超过40度的高温天下,游戏爱好者们汗流满面地排起长队,拥挤地通过安检进入场馆,但是很快感受到了一丝凉意. ShowGirl少了 " ...

  6. ognl

    一:什么是值栈 1:ValueStack:值栈.其本身的数据结构是一个栈,使用者可以把一些对象存入栈中.然后使用动态的表达式来读取bean的属性.由于值栈中可能有多个对象 值栈会按照对象出栈的顺序依次 ...

  7. jmeter(七)定时器

    知识来源有点复杂,其他测试工作者的博客,百度百科,搜集的电子文档,个人理解等等,限于水平和理解能力,可能有些内容有错误的地方... jmeter提供了很多元件,帮助我们更好的完成各种场景的性能测试,其 ...

  8. Yeelink 初探

    Yeelink可以作为中转服务器使用,在自己没有服务器的情况下,可以利用它传输自己的数据. 首先去申请一个帐号,然后添加一个设备. http://www.yeelink.net/user 在这里是用户 ...

  9. 如何破解.net软件

    .net sdk中有不少很强大的工具,可以轻易完成对.net程序的破解,只要你懂得一点IL语言就行.现在以一个 M 软件为例,介绍整个破解过程. 第零步:用反编译工具分析软件的可执行文件,制订破解逻辑 ...

  10. 恢复 Windows 7 的“回到父目录”按钮

    Windows 7 使用以来很多方面一直不习惯,特别是让我无比纠结的”回到父目录“ 按钮从资源管理器中消失了. 不能不说这是一个失败! 很多时候,Win 7 地址栏中自以为是的显示的很多层目录层次的面 ...