您的位置:首页 > 移动开发 > Android开发

android中view 的setTag,getTag方法的作用

2015-07-12 20:43 375 查看
在重写adapter的getView方法的时候经常会用到View类的setTag和隔天Tag方法,这个两个方法到底做什么的呢。

先贴一段代码:

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拿出来就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: