Android 将图像动态添加到包含ImageView的viewpager(单个页面)

Android 将图像动态添加到包含ImageView的viewpager(单个页面),android,dynamic,android-viewpager,imageview,Android,Dynamic,Android Viewpager,Imageview,我想使用Glide图像库将图像动态添加到ViewPager中。我有一个CustomPagerAdapter类:- public class CustomPagerAdapter extends PagerAdapter { private Context mContext; private LayoutInflater mLayoutInflater; private List<DressDetailResult> mResources; publ

我想使用Glide图像库将图像动态添加到ViewPager中。我有一个CustomPagerAdapter类:-

public class CustomPagerAdapter extends PagerAdapter {

    private Context mContext;
    private LayoutInflater mLayoutInflater;
    private List<DressDetailResult> mResources;

    public CustomPagerAdapter(Context context, List<DressDetailResult> images) {
        this.mContext = context;
        this.mLayoutInflater = (LayoutInflater) mContext
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        this.mResources = images;
    }

    @Override
    public int getCount() {
        return this.mResources.size();
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view == ((RelativeLayout) object);
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        View itemView = mLayoutInflater.inflate(R.layout.item_dress_detail_vertical_vp, container, false);

        ImageView imageView = (ImageView) itemView.findViewById(R.id.item_dress_detail_vertical_vp_iv_dress);

        DressDetailResult dressDetailResult = mResources.get(position);

     Log.e("image url detail", " " + dressDetailResult.getImages());

        Glide.with(mContext).load(dressDetailResult.getImages())
                .diskCacheStrategy(DiskCacheStrategy.ALL)
                .into(imageView);

        container.addView(itemView);

        return itemView;
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView((RelativeLayout) object);
    }
}

我想它会将所有数组加载到glide中,如何对其进行个性化处理?

因为您使用
实例化item
viewpager
创建项。您需要在此方法中为所有视图声明final,以保留页面实例。应该是这样的:

final View itemView = mLayoutInflater.inflate(R.layout.item_dress_detail_vertical_vp, container, false);

final ImageView imageView = (ImageView) itemView.findViewById(R.id.item_dress_detail_vertical_vp_iv_dress);
...

确保已正确设置glide库

所有必要的步骤都可以在这里找到

如果您已检查所有用于集成glide库的方框,则:

<uses-permission android:name="android.permission.INTERNET" />

在清单文件中添加这行代码以访问internet


<强>另外< /强>:为了避免多个请求队列考虑将上下文传递到应用程序类(单实例设计实践)。但是,您知道您当前的上下文也应该完成所需的工作

在适配器中传递图像列表。mResources应该是图像的url数组或列表。那就行了。不明白你的意思,我该补充什么?在哪一行?共享api端点
    [http://chandrajeet.com/wp-content/uploads/2015/02/3148608-lg.jpg, 
http://www.gettyimages.in/gi-resources/images/Embed/new/embed2.jpg, 
http://www.thinkstockphotos.in/ts-resources/images/home/TS_AnonHP_462882495_01.jpg,
    http://hdwallpapershdpics.com/wp-content/uploads/2016/02/4237684-images.jpg]
final View itemView = mLayoutInflater.inflate(R.layout.item_dress_detail_vertical_vp, container, false);

final ImageView imageView = (ImageView) itemView.findViewById(R.id.item_dress_detail_vertical_vp_iv_dress);
...
<uses-permission android:name="android.permission.INTERNET" />