为什么这会返回一些重复的项目?listview自定义适配器重复项目
而当我设convertView
为null在启动它的工作原理,但我失去了平滑滚动
@NonNull
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHoilder viewhoilder = null;
if(convertView == null){
LayoutInflater layoutInflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = layoutInflater.inflate(R.layout.post_unit, null, true);
viewhoilder = new ViewHoilder(convertView);
convertView.setTag(viewhoilder);
}else{
viewhoilder = (ViewHoilder) convertView.getTag();
}
final Post_Unit post_unit = getItem(position);
if (post_unit.getPost_unit_type() == 10) {
Load_text(post_unit,viewhoilder);
Load_images(post_unit, viewhoilder);
Load_videos(post_unit, viewhoilder);
return convertView;
}
这里我ViewHolder
public class ViewHoilder{
TextView post_username,post_date,post_content,video_title;
LinearLayout video_layout;
FrameLayout post_unit_btn_add_like;
ImageView video_thumbnail,img_post_unit_content_midea_img_imageview;
ScrollView post_unit_content_midea_imgs;
LinearLayout post_unit_content_midea_imgs_layout;
public ViewHoilder(View v) {
this.post_username = (TextView)v.findViewById(R.id.post_unit_username);
this.post_date = (TextView)v.findViewById(R.id.post_unit_date);
this.post_content = (TextView)v.findViewById(R.id.post_unit_content_text);
this.video_layout = (LinearLayout) v.findViewById(R.id.post_unit_content_midea_video);
this.video_title = (TextView) v.findViewById(R.id.post_unit_video_title);
this.video_thumbnail = (ImageView) v.findViewById(R.id.post_unit_video_logo);
this.img_post_unit_content_midea_img_imageview = (ImageView) v.findViewById(R.id.post_unit_content_midea_img_imageview);
this.post_unit_btn_add_like = (FrameLayout) v.findViewById(R.id.post_unit_content_midea_img);
this.post_unit_content_midea_imgs = (ScrollView) v.findViewById(R.id.post_unit_content_midea_imgs);
this.post_unit_content_midea_imgs_layout = (LinearLayout) v.findViewById(R.id.post_unit_content_midea_imgs_layout);
}
}
我试过这个,,不工作 –
检查你的数组列表然后 – siddhesh