Advertisement
Roctik

Untitled

Mar 21st, 2019
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.49 KB | None | 0 0
  1. package com.guide.view.adapter;
  2.  
  3. import android.content.Context;
  4. import android.support.annotation.NonNull;
  5. import android.support.v4.view.PagerAdapter;
  6. import android.view.LayoutInflater;
  7. import android.view.View;
  8. import android.view.ViewGroup;
  9. import android.widget.ImageView;
  10. import android.widget.RelativeLayout;
  11. import android.widget.TextView;
  12.  
  13. import com.bumptech.glide.Glide;
  14. import com.bumptech.glide.request.RequestOptions;
  15. import com.guide.R;
  16. import com.guide.model.Page;
  17.  
  18. import java.util.ArrayList;
  19.  
  20. public class ViewPagerRandAdapter extends PagerAdapter {
  21.     private Context context;//контекст
  22.     private ArrayList<Page> randPages;//список рандомных страниц
  23.  
  24.  
  25.     /**
  26.      * Конструктор
  27.      *
  28.      * @param context - контекст
  29.      * @param randPages  - список рандомных страниц
  30.      */
  31.     public ViewPagerRandAdapter(Context context, ArrayList<Page> randPages) {
  32.         this.context = context;
  33.         this.randPages = randPages;
  34.     }
  35.  
  36.     /**
  37.      * Метод - получение количества
  38.      */
  39.     @Override
  40.     public int getCount() {
  41.         return randPages.size();
  42.     }
  43.  
  44.     @Override
  45.     public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
  46.         return (view == object);
  47.     }
  48.  
  49.  
  50.     @NonNull
  51.     @Override
  52.     public Object instantiateItem(@NonNull ViewGroup container, int position) {
  53.         LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  54.         View view = inflater.inflate(R.layout.view_pager_item, container, false);
  55.         ImageView image = view.findViewById(R.id.imageRand);
  56.         TextView titleRand = view.findViewById(R.id.titleRand);
  57.         TextView descriptionRand = view.findViewById(R.id.descriptionRand);
  58.  
  59.         Glide.with(context)
  60.                 .load(randPages.get(position).getThumbnail().getSource())//закрузка фото
  61.                 .apply(new RequestOptions()
  62.                         .centerCrop())
  63.                 .into(image);
  64.         titleRand.setText(randPages.get(position).getTitle());
  65.         descriptionRand.setText(randPages.get(position).getExtract());
  66.         container.addView(view);
  67.         return view;
  68.     }
  69.  
  70.     //удаление обекта
  71.     @Override
  72.     public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
  73.         container.removeView((RelativeLayout) object);
  74.     }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement