都知道Adapter中的getView是为了返回listView的每个item

参数:

public View getView(final int position, View convertView, ViewGroup parent) {

为了节省效率 Android提供了第二个参数convertView为了帮助缓存view.

但是经过测试发现 这个缓存并不准确。

所以自己做了个缓存:

public View getView(final int position, View convertView, ViewGroup parent) {//Log.i(TAG,"getView " + position + " " + convertView);//缓存String nowPosString = String.valueOf(position)+"_position";View newCViewonvertView = viewHold.get(nowPosString); //mapif(newCViewonvertView == null){LayoutInflater _LayoutInflater = LayoutInflater.from(mContext);newCViewonvertView = _LayoutInflater.inflate(R.layout.item, null);//自行缓存viewviewHold.put(nowPosString, newCViewonvertView);}return newCViewonvertView;
}

完成。

如果有错请指点~ 有问题请留言~

转载于:https://blog.51cto.com/superfly81/1306386

Android Adapter中的getView缓存失效相关推荐

  1. Android ListView中CheckBox选中状态失效的最佳解决方案

    Android ListView中CheckBox选中状态失效: 在ListView中某一项滑到显示区外部的时候,重新划回来时其中的CheckBox的选中状态会重置,本文提出了一种解决方案,操作起来快 ...

  2. android WebView中js的alert()失效

    WebView的设置代码 wv = (WebView) findViewById(R.id.webView1); wv.getSettings().setJavaScriptEnabled(true) ...

  3. android Adapter使用详解

    将此句说100遍, 你就会用了: 适配器的作用就是将数据绑定到条目界面的每一个显示控件上. ---------------------------------屎一样的分割线-------------- ...

  4. android bitmap图片下载三级缓存

    Google为Android开发提供了一个培训教程,在加载图片一节中提供了示例程序BitmapFun,实现了图片下载.缓存.解析加载的功能,具体分析如下: 1.程序介绍 程序整体结构如上图所示,应用启 ...

  5. android listview settag,Android View中setTag的二三事

    每一个APP,都离不开View的使用,小到一个登陆注册页面,大到复杂的网上商城,都是View使用的具体体现. 往往我们使用View,其实就是为了向用户展示一定的数据,因此,view的使用又总是离不开数 ...

  6. 浅谈Android中的异步加载之ListView中图片的缓存及优化三

    隔了很久没写博客,现在必须快速脉动回来.今天我还是接着上一个多线程中的异步加载系列中的最后一个使用异步加载实现ListView中的图片缓存及其优化.具体来说这次是一个综合Demo.但是个人觉得里面还算 ...

  7. android开发--详解ListView,动态添加,删除Adapter中的数据项

    ListView是Android开发中最常用到的控件之一,所以学习ListView显得非常重要,在本文中,作者继承了BaseAdapter实现了自己的Adapter,在其中实现相应的方法,包括添加,删 ...

  8. android adapter点击事件,Activity中响应Adapter的点击回调事件

    假设一个场景,在ListView的Item中,点击"+"按钮加入该item的商品到购物车中.给予的解决方案是: 在Adapter中定义一个回调接口,在Activity中实现该接口, ...

  9. Android中的三级缓存解析与实战

    凡永恒伟大的爱,都要绝望一次,消失一次,一度死,才会重获爱,重新知道生命的价值.--<文学回忆录> 1.概述 由于Bitmap的特殊性以及Android对单个进程应用只分配16M的内存,这 ...

  10. android 开发过程中涉及到的清除缓存操作

    android 开发过程中会遇到很多缓存,常常使人摸不清楚,这里总结一下,希望下次遇到缓存相关问题能有所帮助. Clean Project 点击 Clean Project 会执行 clean.:ap ...

最新文章

  1. Winform根据控件名获取指定控件
  2. 如何插入页面,PDF怎么插入页面
  3. vue中过渡动画(类名实现方式)
  4. ORACLE ORA-01653: unable to extend table 的错误
  5. Nodejs与mysql连接池的应用(pool)
  6. python 单链表的操作
  7. Ubuntu 12.04 静态ip的设置方法
  8. 一致性hash算法虚拟节点_一致性 Hash 算法
  9. 寒假汇编语言作业(11)
  10. 魅族2016Java互联网方向其中一道笔试题--青蛙跳台阶问题
  11. 如何在Ubuntu 18.04上安装OpenCV
  12. Java程序员必备的一些流程图/架构图(拿走不谢)
  13. 昆仑通态复制的程序可以用吗_昆仑通态专题(九):MCGS组态软件的实时数据库...
  14. 苏宁小店启动“三公里灯塔”计划 用服务造极社区生活圈
  15. 常见的商业数据库系统
  16. 从键盘输入一个阿拉伯数字,输出对应的财务数字, 用switch。/*零、壹、贰、叁、肆、伍、陆、柒、捌、玖、亿、万、仟、佰、拾。
  17. IDLE的介绍和使用
  18. Android打开自启动设置页面
  19. 用了几个月Macnbsp;OSnbsp;X,发现很多东西…
  20. 【Python数据分析与可视化】期末复习笔记整理(不挂科)

热门文章

  1. PHPStorm常用快捷方式
  2. C语言中用二进制输出一个数字
  3. JDK的问题:用C启动虚拟机跟java运行结果有差异
  4. 给兆芯出主意:开发一批新指令,交叉授权
  5. LINUX C获取并设置环境变量
  6. 《流言终结者》,再见
  7. C中处理Python的Numpy数组的代码范例
  8. 构建与服务器的JDK版本不同,导致服务器不能工作
  9. TDengine C/C++ Connector
  10. php 正则表达式 匹配 字符串,PHP 字符串与正则表达式匹配