ViewPager в Recyclerview - PullRequest
       83

ViewPager в Recyclerview

1 голос
/ 20 марта 2020

Как я могу реализовать это, чтобы получить это изображение ниже в обзоре переработчика ?. Это в настоящее время прокрутка, но не в reecyclerview. Я хочу, чтобы можно было получить несколько элементов в окне повторного использования, как показано на этом рисунке. Там, где элементы, относящиеся к программе рециркуляции, можно прокручивать (URL-адреса изображений, полученные из БД путем модернизации)

Основная активность

public class MainActivity extends AppCompatActivity {

    private static ViewPager mPager;
    private static int currentPage = 0;
    private static int NUM_PAGES = 0;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        init();
    }
    private void init() {
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(Api.BASE_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();
        Api api = retrofit.create(Api.class);
        Call<List<Details_Pojo>> call = api.getstatus();
        call.enqueue(new Callback<List<Details_Pojo>>() {
            @Override
            public void onResponse(Call<List<Details_Pojo>> call, Response<List<Details_Pojo>> response) {
                List<Details_Pojo> adslist = response.body();

                String im1 = adslist.get(0).getImage1Url();
                String im2 = adslist.get(0).getImage2Url();
                String im3 = adslist.get(0).getImage3Url();
                String im4 = adslist.get(0).getImage4Url();

                String[] urls = new String[] {im1,im2,im3,im4};

        mPager = (ViewPager) findViewById(R.id.pager);
        mPager.setAdapter(new SlidingImage_Adapter(MainActivity.this,urls));

Адаптер скользящего изображения

public class SlidingImage_Adapter extends PagerAdapter {

    private String[] urls;
    private LayoutInflater inflater;
    private Context context;

    public SlidingImage_Adapter(Context context, String[] urls) {
        this.context = context;
        this.urls = urls;
        inflater = LayoutInflater.from(context);
    }

    @Override
    public int getCount() {
        return urls.length;
    }

    @Override
    public Object instantiateItem(ViewGroup view, int position) {
        View imageLayout = inflater.inflate(R.layout.slidingimages_layout, view, false);
        assert imageLayout != null;
        final ImageView imageView = (ImageView) imageLayout
                .findViewById(R.id.image);

        imageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(context, "Hallo Freaks!!!", Toast.LENGTH_LONG).show();
            }
        });

        Picasso.get()
                .load(urls[position])
                .placeholder(R.drawable.placeholder)
                .error(R.drawable.error)
                .fit()
                .into(imageView);
        view.addView(imageLayout, 0);
        return imageLayout;
    }

действие xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

        <androidx.viewpager.widget.ViewPager
            //////>

        <com.viewpagerindicator.CirclePageIndicator
            ////

</RelativeLayout>

скользящий xml

  <androidx.cardview.widget.CardView
       ///

    <ImageView
//

APP UI

...