Загрузка фрагмента как элемента в адаптере RecyclerView - PullRequest
0 голосов
/ 30 января 2019

У меня есть массив с динамическим размером, и я хочу загрузить все элементы массива в RecyclerView с помощью адаптера. Слева направо и справа налево. Проведите пальцем по каждому элементу массива с помощью RecyclerView, и я добавил FrameLayout в представлении адаптера исоздал один фрагмент, и этот фрагмент отображен на макете кадра в случае каждого индекса массива в адаптере во время Swipe onBindViewHolder (держатель ViewHolder, позиция int), но это не работает для ползунка. Я могу использовать просмотр пейджера, но просмотр пейджера не прослушивает каждый индекс во время пролистыванияВот почему я использовал программу повторного просмотра, помогите загрузить данные в режиме повторного просмотра в качестве слайдера, а также помогите загружать фрагменты во время считывания

Вот код адаптера

ArrayList<CourseLessonDetailsData> mCourseLessonDetailsDataList = new ArrayList<>();
        CourseDetailsActivity mActivity;
        FragmentManager mFragmentManager;

        public SwipeRecyclerViewAdapter(ArrayList<CourseLessonDetailsData> _courseLessonDetailsDataList , CourseDetailsActivity _activity, FragmentManager fragmentManager) {
            mActivity = _activity;
            mCourseLessonDetailsDataList = _courseLessonDetailsDataList;
            mFragmentManager = fragmentManager;
        }

        @Override
        public SwipeRecyclerViewAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            // Create a new view by inflating the row item xml.
            View v = LayoutInflater.from(parent.getContext())
                    .inflate(R.layout.swipe_course_detail_recycler_item_view, parent, false);

            // Set the view to the ViewHolder
            return new SwipeRecyclerViewAdapter.ViewHolder(v);
        }

        @Override
        public void onBindViewHolder(ViewHolder holder, int position) {

                FragmentManager fragmentManager = mActivity.getSupportFragmentManager();
                FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
                SwipeFragment swipeFragment = new SwipeFragment();
                Bundle bundle = new Bundle();
                bundle.putParcelableArrayList("course_lesson_array", mCourseLessonDetailsDataList);
                bundle.putString("position", position + "");
                swipeFragment.setArguments(bundle);
                fragmentTransaction.add(R.id.swipe_recycler_view_frame_layout, swipeFragment);
                fragmentTransaction.commit();

        }

        @Override
        public int getItemCount() {
            return mCourseLessonDetailsDataList.size();
        }

        // Create the ViewHolder class to keep references to your views public class ViewHolder extends RecyclerView.ViewHolder{
            public FrameLayout swipe_recycler_view_frame_layout;

            /*
             * Constructor
             * @param v The container view which holds the elements from the row item xml
             */
            public ViewHolder(View v) {
                super(v);

                swipe_recycler_view_frame_layout = v.findViewById(R.id.swipe_recycler_view_frame_layout);


            }


        }
...