【发布时间】:2018-05-08 04:40:06
【问题描述】:
我在回收站视图项目中使用图像滑块,每个项目都有视图分页器和自己的图像滑块,在回收站视图中加载所有项目后。第一项在其视图寻呼机内显示图像滑块,然后我向下滚动到其他项目可能是项目 10 或 11,然后我向上滚动到第一项然后查看寻呼机销毁其中的所有项目或片段,现在没有显示图像。请给我解决方案,我的适配器代码。无法使用 FragmentStatePagerAdapter,因为无权访问 Fragment Manager
private class ViewPagerAdapter extends PagerAdapter {
ArrayList<ImageInfo> allImages=new ArrayList<>();
private ViewPagerAdapter(ArrayList<ImageInfo> allImages){
this.allImages = allImages;
}
@Override
public int getCount() {
return allImages.size();
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
View itemView = LayoutInflater.from(myContext).inflate(R.layout.fragment_big_row_image, container, false);
ImageView imageListing = (ImageView) itemView.findViewById(R.id.imageListing);
//MH: Loading Images in slider
if(allImages.get(position).csImageFull.length()>0)
{
CommonMethods.ShowImage(myContext, imageListing, allImages.get(position).csImageFull);
}
else
{
CommonMethods.ShowImage(myContext, imageListing, allImages.get(position).csImageMedium);
}
container.addView(itemView);
return itemView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// ((ViewPager) container).removeView((View) object);
// instantiateItem(container,position);
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
}
/*****************************************************************************************************/
【问题讨论】:
-
你用过adapter.notifydatasetchanged() 吗??
-
我没有更改数据集,当我向下滚动时它会自动销毁数据集
-
能发一下logcat吗,错误是什么
-
它没有显示任何错误,只是调用了destroyItem方法