最近写项目犯了了一个很微小的错误。却导致了一个很大的问题,自定义的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);
}
就是这么一句