gpt4 book ai didi

java - 当我向下滚动时查看寻呼机销毁项目

转载 作者:太空宇宙 更新时间:2023-11-04 10:29:09 26 4
gpt4 key购买 nike

我在回收器 View 项目中使用图像 slider ,每个项目都有 View 分页器和自己的图像 slider ,在回收器 View 中加载所有项目后。第一个项目在其 View 寻呼机内显示图像 slider ,然后我向下滚动到其他项目可能是项目 10 或 11,然后我向上滚动到第一个项目,然后 View 寻呼机销毁其中的所有项目或 fragment ,现在没有显示图像。请给我解决方案,我的适配器代码。无法使用 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;
}
}

/*****************************************************************************************************/

最佳答案

在 viewpager 中设置屏幕页面。屏幕外页面限制定义了您希望在 View 寻呼机内存中保留多少页面。将此数字设置为您所需的页数。

mViewPager = (ViewPager)findViewById(R.id.pager);
mViewPager.setOffscreenPageLimit(2);

此处的 View 分页器会将上次访问的 2 个页面保留在内存中,并且不会销毁它们。

关于java - 当我向下滚动时查看寻呼机销毁项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50225935/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com