переключаться между проведением по вертикали и горизонтали во вложенном ViewPager - PullRequest
0 голосов
/ 29 апреля 2020

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

@Override
public Object instantiateItem(ViewGroup container, final int position) {
    View itemView = new View(mContext);
         itemView = mLayoutInflater.inflate(R.layout.content_main, container, false);

         vvp.disableScroll(vvp.disable);

         final ViewPager vp = itemView.findViewById(R.id.view_pager_slider);
         CustomViewPagerAdapter cvpa = new CustomViewPagerAdapter(mImages,mContext);
         vp.setAdapter(cvpa);

         container.addView(itemView);
         return itemView;
}

, и это адаптер горизонтального обзораPager item

class CustomViewPagerAdapter extends PagerAdapter {

int[] i;
Context mContext;

public CustomViewPagerAdapter(int[] i, Context mContext) {
    this.i = i;
    this.mContext = mContext;
}

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

@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
    return view == object;
}

@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {

    ImageView iv = new ImageView(mContext);
    Glide.with(mContext).load(i[position]).into(iv);
    container.addView(iv);
    return iv;
}

@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
    container.removeView((View) object);
}
...