1
ViewPager (슬라이드)가 있고 이미지가 3 개 있습니다. 인터넷을 통해 다운로드되는 세 가지 이미지가 있습니다. 내가 서버에서 다른 서버로 사진을 변경하는 경우, 링크는 동일하지만 변경하지 않는 응용 프로그램에서 사진이 캐시에ViewPager Glide
public class ViewPagerAdapter extends PagerAdapter {
private Context context;
private LayoutInflater layoutInflater;
private String [] image = {"http://rgho.st/7hDcbyT2F/image.png",
"http://guid-korenovsk.my1.ru/logos.png",
"https://4.bp.blogspot.com/-JKogH2VCCoY/V_aZWCFsmtI/AAAAAAAABAA/Lu6D13VXGSMMnYFO8T8-pKDeqbkHhNRAwCLcB/s320/VideoThumbail.PNG"};
public ViewPagerAdapter(Context context) {
this.context = context;
}
@Override
public int getCount() {
return image.length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
layoutInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = layoutInflater.inflate(R.layout.bulding_layout, null);
ImageView imageView = (ImageView)view.findViewById(R.id.imageViewPager);
Glide.with(context)
.load(image[position])
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.into(imageView);
ViewPager vp = (ViewPager)container;
vp.addView(view,0);
return view;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
ViewPager vp = (ViewPager)container;
View view = (View)object;
vp.removeView(view);
}
}
공개했다 동일 하나 남아 클래스 MyTimerTask 당신은 이미지의 캐싱을 방지하기 위해이 Glide
인스턴스에서 DiskCacheStrategy.NONE
을 사용할 수 있습니다 TimerTask를 {
@Override
public void run() {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
if(viewPagerAds.getCurrentItem() == 0){
viewPagerAds.setCurrentItem(1);
}else if(viewPagerAds.getCurrentItem() == 1){
viewPagerAds.setCurrentItem(2);
}else viewPagerAds.setCurrentItem(0);
}
});
}
}