Android ViewPager в SwipeFlingAdapterView - PullRequest
0 голосов
/ 21 сентября 2018

В настоящее время я работаю над добавлением функции, похожей на трут, в моем приложении.Проблема в том, что мне нужно добавить горизонтальный viewpager как часть моего cardview.Я использовал библиотеку Swipecards .Я поставил SwipeFlingAdapterView с адаптером, где я реализовал шаблон ViewHolder, а в конструкторе ViewHolder я устанавливаю адаптер для viewpager и обновляю данные в методе держателя представления связывания.К сожалению, когда я смахиваю изображение вида в viewpager, оно очень плохо мигает и отстает от просмотра на мгновение

Из того, что я вижу в самой библиотеке, метод getView всегда вызывается с (View) null child, поэтому отключениевозможность применения шаблона для виджета.

Может кто-нибудь предложить библиотеку функциональности, похожую на трут, или фрагмент кода, который правильно работает с внутренним пейджером с изображениями.

Каковы мои ожидания от библиотеки?возможность обновления адаптера при смахивании видов, например, в некоторых случаях, когда я проводил пальцем влево, мне нужно удалить объект из адаптера, а затем добавить его в конец, и я хочу, чтобы он прошел без проблем для пользователя.

Вот мой код пользователя

 public class ViewHolder {
        //...
        final ViewPager imagesViewPager;
        final SomeAdapter imagesAdapter;
        //...
        public ViewHolder(final View rowView, final int position) {

//...
            imagesViewPager = rowView.findViewById(R.id.viewPager);
            imagesViewPager.getLayoutParams().height = calculatedPictureHeight;

            imagesAdapter = new SomeAdapter(rowView.getContext(), Collections.emptyList());

            final SomeModel model = data.get(0);

            imagesViewPager.setAdapter(imagesAdapter);
            imagesViewPager.setOffscreenPageLimit(trip.points.size());
//...
        }

        public void bind(final Trip trip) {
            final Context context = containerBackground.getContext();
//...

            imagesAdapter.updateData(trip.points);

//...
        }
    }

и ссылка

...