ListView优化的时候ViewHolder的简洁写法
在ListVIew做复用优化的时候,经常会写ViewHolder,还需要很麻烦的去findview,我最讨厌写一堆的这样代码了,今天看到了一个极简的写法,很好用,很简洁啊!!!
SparseArray<View> viewHolder = (SparseArray<View>) convertView.getTag();
if (viewHolder == null) {
viewHolder = new SparseArray<View>();
convertView.setTag(viewHolder);
}
View childView = viewHolder.get(id);
if (childView == null) {
childView = convertView.findViewById(id);
viewHolder.put(id, childView);
}
return (T) childView;
}
用法:
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_feed_item, parent, false);
}
ImageView thumnailView = getAdapterView(convertView, R.id.video_thumbnail);
        ImageView avatarView =  getAdapterView(convertView, R.id.user_avatar);
        ImageView appIconView = getAdapterView(convertView, R.id.app_icon);
ListView优化的时候ViewHolder的简洁写法的更多相关文章
- android中ViewHolder通用简洁写法
		
public class ViewHolder { // I added a generic return type to reduce the casting noise in client ...
 - ViewHolder简洁写法
		
ViewHolder holder = null; if(convertView == null){ convertView = mInflater.i ...
 - ListView性能优化——convertView&viewHolder
		
ListView优化大致从以下几个角度:1.复用已经生成的convertView:2.添加viewHolder类:3.缓存数据(图片缓存):4.分页加载. 具体方案: 1.如果自定义适配器,那么在ge ...
 - listview优化 汇总
		
1,listview加载性能优化ViewHolder 转自: http://blog.csdn.net/jacman/article/details/7087995 在android开发中Listvi ...
 - Android 常驻与很驻型广播的差别,及ListView优化,Android新手基本知识巩固
		
1.常驻型广播 常驻型广播,当你的应用程序关闭了,假设有广播信息来,你写的广播接收器相同的能接受到. 他的注冊方式就是在你的应用程序中的AndroidManifast.xml进行注冊. 通常说这样 ...
 - 内存泄露--contentView缓存使用与ListView优化
		
引起Android内存泄露有很多种原因,下面罗列了一些问题,以后会一一解决 1.构造Adapter时没有使用缓存convertView(衍生出ListView优化问题) 2.查询数据库游标没有关闭 3 ...
 - Android——ListView优化
		
1.ListView基本概念 列表显示需要三个元素: ListView:用来展示列表的View. 适配器:用来把数据映射到ListView上 数据:具体的将被映射的字符串,图片或基本组件 适配器类型分 ...
 - ListView使用、ListView优化和遇到的问题
		
1.先写遇到的问题: a.ListView只显示一个item. listview只显示一个item,并且做了listview的点击事件监听打印 Bean 对象的属性和哈希值,发现只有显示的那个 Bea ...
 - Android零基础入门第43节:ListView优化和列表首尾使用
		
原文:Android零基础入门第43节:ListView优化和列表首尾使用 前面连续几期都在学习ListView的各种使用方法,如果细心的同学可能会发现其运行效率是有待提高的,那么本期就来一起学习有哪 ...
 
随机推荐
- BFS【bzoj1667】: [Usaco2006 Oct]Cows on Skates滑旱冰的奶牛
			
1667: [Usaco2006 Oct]Cows on Skates滑旱冰的奶牛 Description 经过跟Farmer John长达数年的谈判,奶牛们终于如愿以偿地得到了想要的旱冰鞋.农场上大 ...
 - 黑马学习CSS之选择器 简单选择器,结合符,选择器,选择器组, 选择器优先级,名称空间
 - Dell N5010 Win7下 玩CS全屏(1366*768)问题
			
在Dell N5010 Win7 下完CS1.6 全屏不了,以下是解决办法 1.按windows+r键打开 运行 窗口,输入regedit,打开注册表 2.依次点开 HKEY_LOCAL_MACHIN ...
 - 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_运行时解析类型引用
			
public sealed class Program{ public static void Main() { System.Console.WriteLine("Hi"); } ...
 - Educational Codeforces Round 7 B
			
Description You are given the current time in 24-hour format hh:mm. Find and print the time after a ...
 - Codeforces Round #339 (Div. 2) A
			
Description Programmer Rostislav got seriously interested in the Link/Cut Tree data structure, which ...
 - java/Android String.split 字符串分割
			
特殊符号分割时需加[].如下图
 - 一般小的maven pom
			
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...
 - equals和== 区别
			
转载:https://zhidao.baidu.com/question/61622858.html ==是一个比较运算符,基本数据类型比较的是值,引用数据类型比较的是地址值. (比较地址值即是指是否 ...
 - spring aop实现log 日志跟踪
			
之前写的那篇是基于springboot的(https://www.cnblogs.com/yaoyuan2/p/10302802.html),由于遗留项目用的是spring,因此需要在spring基础 ...