Android:ViewHolder概念

时间:2013-10-28 05:52:22

标签: android listview

我正在为ListView实现CustomAdapter并使用ViewHolder类。 我的代码是:

     if (convertView == null) {
        ViewHolder viewHolder = new ViewHolder();
        LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = inflater.inflate(R.layout.card_item, null);
        viewHolder.ivCard = (ImageView) convertView
                .findViewById(R.id.ivCardImage);

        convertView.setTag(viewHolder);
    }


    final ViewHolder holder = (ViewHolder) convertView.getTag();

但我的同事说我的版本可以错误地显示列表项并将其更正为

ViewHolder holder;
if (convertView == null) {
        holder = new ViewHolder();
        LayoutInflater inflater = (LayoutInflater) context
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = inflater.inflate(R.layout.card_item, null);
        holder.ivCard = (ImageView) convertView
                .findViewById(R.id.ivCardImage);

        convertView.setTag(holder);
    }else {
         holder = (ViewHolder) convertView.getTag();
    }

我知道他们的代码是最好的做法,但它真的会影响到列表项映射吗?

1 个答案:

答案 0 :(得分:0)

不,您的代码不会影响列表项映射。