【发布时间】:2017-06-23 02:04:29
【问题描述】:
我想使用 Glide Image Library 将图像动态添加到 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);
}
}
这是我使用 RetroFit 2.0 的模型类:-
package com.webmavens.sherrihill.models.DressDetail;
import java.util.List;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class DressDetailResult {
@SerializedName("images")
@Expose
private List<String> images = null;
public List<String> getImages() {
return images;
}
public void setImages(List<String> images) {
this.images = images;
}
}
在列表中获取图片网址,但不知道如何将其加载到 Glide 中,即使我尝试使用下面的代码加载,但它只加载一张图片,并没有为下一张图片添加另一个页面:
List<String> stringList = dressDetailResult.getImages();
Glide.with(mContext).load(stringList.get(position))
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imageView);
ImageUrls Array的Logcat是:-
[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]
我认为它会将所有数组加载到 glide 中,我该如何个性化它?
【问题讨论】:
-
在适配器中传递图像列表。 mResources 应该是图像 url 的数组或列表。那样就可以正常工作了。
-
不明白你的意思,我在哪里补充?在哪一行?
-
分享api端点
标签: android dynamic android-viewpager imageview