在listview的每个ITEM中需要嵌套一个listview显示评论信息时会遇到滚动listview时评论信息会乱显示问题
解决办法如下:
1、在第一个listview的getview()方法中需要将空间全部绑定
ClassUserListViewHolder holder = null;
if(convertView==null){
convertView = View.inflate(context, R.layout.dynamic_list_item, null);
holder=new ClassUserListViewHolder();
holder.ivDyHeadPhoto = (ImageView) convertView.findViewById(R.id.iv_dynamic_headPhoto);
holder.tvDyUserName = (TextView) convertView.findViewById(R.id.tv_dynamic_username);
holder.tvDyContent = (TextView) convertView.findViewById(R.id.tv_dynamic_content);
holder.tvDyTime = (TextView) convertView.findViewById(R.id.tv_dynamic_time);
holder.ll_comment = (LinearLayout)convertView.findViewById(R.id.ll_dynamic_comment);
holder.lv_comment = (ListView)convertView.findViewById(R.id.lv_dynamic_comment_list);
convertView.setTag(holder);
}else{
holder = (ClassUserListViewHolder)convertView.getTag();
}
public class ClassUserListViewHolder{
public ImageView ivDyHeadPhoto;
public TextView tvDyUserName;
public TextView tvDyContent;
public TextView tvDyTime;
public LinearLayout ll_comment;
public ListView lv_comment;
}
if(info.getCommentList().size()>0){
if(holder.ll_comment.getVisibility()==View.GONE){
holder.ll_comment.setVisibility(View.VISIBLE);
CommentAdapter mAdapter = new CommentAdapter(mActivity, info.getCommentList(), info.getId(), position);
holder.lv_comment.setAdapter(mAdapter);
}
}else{
holder.ll_comment.setVisibility(View.GONE);
}
2、在第二个listview的getview方法中每次都应重绘view 则不能绑定控件
if (convertView == null) {
convertView = View.inflate(context,R.layout.dynamic_comment_item, null);
}
tvUsername = (TextView)convertView.findViewById(R.id.tv_dynamic_comment_username);
tvReUsername = (TextView)convertView.findViewById(R.id.tv_dynamic_comment_reusername);
tv_content = (TextView)convertView.findViewById(R.id.tv_dynamic_comment_content);