android中view 的setTag,getTag方法的作用
2015-07-12 20:43
375 查看
在重写adapter的getView方法的时候经常会用到View类的setTag和隔天Tag方法,这个两个方法到底做什么的呢。
先贴一段代码:
ViewHolder是一个adapter的内部类,来持有view的,View中的setTag(Object)表示给View添加一个格外的数据,以后可以用getTag()将这个数据取出来。这样在convertView!=null的时候就不必再次去布局文件里找View了,直接调用getTag把持有View的ViewHolder拿出来就可以了。
先贴一段代码:
public View getView(int position, View convertView, ViewGroup parent) { ViewHolder vh; if (convertView == null) { LayoutInflater inflater = (LayoutInflater) mWidgetsSwitchApp .getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = inflater.inflate(R.layout.app_gallery_item, null); vh = new ViewHolder(); vh.view1 = (ImageView) convertView.findViewById(R.id.view1); vh.view2 = (ImageView) convertView.findViewById(R.id.view2); vh.view3= (ImageView) convertView.findViewById(R.id.view3); vh.view4 = (ImageView) convertView.findViewById(R.id.view4); convertView.setTag(vh); } else { vh = (ViewHolder) convertView.getTag(); }
ViewHolder是一个adapter的内部类,来持有view的,View中的setTag(Object)表示给View添加一个格外的数据,以后可以用getTag()将这个数据取出来。这样在convertView!=null的时候就不必再次去布局文件里找View了,直接调用getTag把持有View的ViewHolder拿出来就可以了。
相关文章推荐
- Android Widget工作原理详解(一) 最全介绍
- Android Widget工作原理详解(一)
- 优化Android Studio/Gradle构建
- Android常见错误
- Android自带样式
- 在Android项目中(百度地图),报错:key验证出错,请在AndroidManifest.xml文件中检查key设置
- Android实现正方形View
- android知识网
- Android 自定义ViewGroup实现GridLayout
- Android原生生成JSON与解析JSON
- Android 核心分析 之Android的启动过程
- Android--Handler与Message
- android--ImageLoaderl离线缓存图片ImageLoaderConfiguration详解
- Android平台上使用气压传感器计算海拔高度
- Android Studio中配置 Android annotations
- Android LayoutInflater的使用
- Android突击:定制控件
- android状态栏一体化(改变状态栏的背景颜色)开源工程推荐
- Android得到控件在屏幕中的坐标
- Ubuntu安装Android Studio