万能的ViewHolder

/*
 * 万能的ViewHolder
 */
public static class ViewHolder {

public static <T extends View> T get(View view, int id) {
SparseArray<View> viewHolder = (SparseArray<View>) view.getTag();
if (viewHolder == null) {
viewHolder = new SparseArray<View>();
view.setTag(viewHolder);
}
View chidlView = viewHolder.get(id);
if (chidlView == null) {
chidlView = view.findViewById(id);
viewHolder.put(id, chidlView);
}
return (T)chidlView;
}
}
时间: 2024-08-10 21:28:39

万能的ViewHolder的相关文章

怎样使用ListView实现一个带有网络请求,解析,分页,缓存的公共的List页面来大大的提高工作效率

在寻常的开发中常常会有非常多列表页面.每做一个列表页就须要创建这个布局文件那个Adapter适配器文件等等一大堆与之相关的附属的不必要的冗余文件. 假设版本号更新迭代比較频繁,如此以往,就会使项目project变得无比庞大臃肿. 假设看过这篇文章或者在使用过这样的方式之后呢,全部的工作都能够被压缩成仅仅有两个文件,一个JAVA文件一个XML布局文件. 并且代码还少少的. 咱们来看看实际情况: 寻常的一个列表页面的生成须要下面文件: 一个Activity文件.有时候可能还会忘记注冊 一个包括上下拉

Android base-adapter-helper 源码分析与扩展

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/44014941,本文出自:[张鸿洋的博客] 本篇博客是我加入Android 开源项目源码解析分析的一篇文章,初次加入,所以选了个比较简单的库,如果你曾经看过Android 快速开发系列 打造万能的ListView GridView 适配器对本篇博客就不会太陌生, base-adapter-helper就是完成类似万能适配器的功能,当然了它本身不支持多种Item布局的情况,我们在下

Androidbaseadapterhelper源码分析与扩展(转载)

Androidbaseadapterhelper源码分析与扩展 转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/44014941,本文出自:[张鸿洋的博客] 本篇博客是我加入Android 开源项目源码解析分析的一篇文章,初次加入,所以选了个比较简单的库,如果你曾经看过Android 快速开发系列 打造万能的ListView GridView 适配器对本篇博客就不会太陌生, base-adapter-helper就是完成类似万能

万能Adapter以及ViewHolder性能优化

//CommonAdapter import android.content.Context; import android.widget.BaseAdapter; import java.util.List; /** * Created by Administrator on 2016/1/28. */ public abstract class CommonAdapter<T> extends BaseAdapter { private List<T> mDatas; priv

自定义简单的万能适配器

适配器在android中非常的常用,像ListView,GridView,下拉框...中都比较常用, 这篇博客介绍一个万能的适配器,虽然比较简单,但是用处比较大.(不用一个个再去创建适配器了) 此列子创建的是一个虚类,使用的时候需要继承此类,并实现相应的方法. public abstract class SimpleBaseAdapter<T> extends BaseAdapter{ //调用类传入的Context Context context //需要的数据,使用泛型; List<

Android 快速开发系列 打造万能的ListView GridView 适配器

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38902805 ,本文出自[张鸿洋的博客] 1.概述 相信做Android开发的写得最多的就是ListView,GridView的适配器吧,记得以前开发一同事开发项目,一个项目下来基本就一直在写ListView的Adapter都快吐了~~~对于Adapter一般都继承BaseAdapter复写几个方法,getView里面使用ViewHolder模式,其实大部分的代码基本都是类似的

android打造万能的适配器

荒废了两天,今天与大家分享一个ListView的适配器 前段时间在学习慕课网的视频,觉得这种实现方式较好,便记录了下来,最近的项目中也使用了多次,节省了大量的代码,特此拿来与大家分享一下. 还是先看图片,这里我模仿博客园App的列表样式做了一个静态的数据列表    这里用到的类比较多,不过核心的只有两个,其余均为演示所用,先来看核心的两个类 ViewHolderM.java package landptf.tools; import android.content.Context; import

Android进阶笔记10:Android 万能适配器

1. Android 万能适配器      项目中Listview GridView几乎是必用的组件,Android也提供一套机制,为这些控件绑定数据,那就是Adapter.用起来虽然还不错,但每次都需要去继承一个BaseAdapter,然后实现里面的一大堆方法,而我们每次最关心的无非就是getView方法,其余的方法几乎都是相同代码.这里是不是就可以优化起来呢?在其次,我们在使用Adapter的时候,为了优化性能,常常会创建一个Holder.而Holder里面每次存放的都是View,对Hole

万能适配器的一些问题

不用万能适配器volley都能搞定如果用万能适配器则不能用volley(因为万能适配器里边有自己的settag)可以用NUtils在 NUtils里边自定义三级缓存每次设图片时都去访问三级缓存 1 package com.example.wannengadapter; 2 3 import java.util.List; 4 5 import android.content.Context; 6 import android.view.LayoutInflater; 7 import andro