View.setTag()的作用

这个东西在一些需要用到Adapter自定控件显示方式的时候非常有用
Adapter 有个getView方法,可以使用setTag把查找的view缓存起来方便多次重用

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();
        }
//其他的代码可以直接使用 vh.view1、vh.view2、vh.view3 、vh.view4


}

你可能感兴趣的:(service,null)