ListView 加载数据 Holder 数据项重复 , 乱序

最近写项目犯了了一个很微小的错误。却导致了一个很大的问题,自定义的listview加载数据一直都在乱序和重复,代码如下:

   public View getView(int position, View convertView, ViewGroup parent) {
        if ((convertView == null)) {
            convertView= LayoutInflater.from(context).inflate(R.layout.item_message,null);

        }
        ViewHolder viewHolder=new ViewHolder();
        viewHolder.content= (TextView) convertView.findViewById(R.id.tv_item_message_content);
        viewHolder.time= (TextView) convertView.findViewById(R.id.tv_view_message_time);

        viewHolder.time.setText(list.get(position).getChargeapprove());
        viewHolder.content.setText("尊敬的用户您于"+list.get(position).getChargestart()+"进行了充电,具体明细请查看");

        return convertView;
    }

    class ViewHolder{
        TextView time;
        TextView  content;
    }

后来找了好久,才发现原来是在初始化list布局的事判断null,大括号放在了外面,看如图,导致,只有空的时候加载没导致乱序。

 if ((convertView == null)) {
            convertView= LayoutInflater.from(context).inflate(R.layout.item_message,null);

        }

就是这么一句

猜你喜欢

转载自blog.csdn.net/lansus/article/details/50969188