У меня есть массив с динамическим размером, и я хочу загрузить все элементы массива в 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);
}
}