Я реализую вложенный recyleview, мое представление содержит два recylerview, и оба должны прокручивать вертикально в соответствии с выполнением, но перед этим я сталкиваюсь с проблемой, когда я запускаю прокрутку дочернего recylerview, а затем начальную прокрутку родительского recylerview.Как сделать дочернюю RecylerView вертикальной прокруткой?
Что мне нужно, когда я прокручиваю дочерний режим рециркуляции, тогда переработка родительского элемента не должна прокручиваться, и когда я запускаю переработку родительского элемента для прокрутки, тогда ребенок не должен прокручиваться.
Мой родительский цикл - это белый ящик, содержащий номер 997, а затем 996 и т. Д.
My child recycle - это коробка под кнопкой повтора, которая содержит и элемент для заказа id 997 - это таурус 2518-10 chakka, taurus 3118 - 12 chakka, а ниже этого два есть еще три четыре предмета, которые мы не можем см., что можно увидеть, когда пользователь прокручивает вверх.
Я пробовал:
нижестоящего макета:
materialRecylerAdapter = new MaterialRecylerAdapter(getActivity(), (ArrayList<OrderPogo>) myOrderArrayList,nextFragmentFlag);
WrappingLinearLayoutManager mLayoutManager= new WrappingLinearLayoutManager(getContext(),LinearLayoutManager.VERTICAL,false);
recyclerView.setLayoutManager(mLayoutManager);
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setAdapter(materialRecylerAdapter);
OnChildLayout:
WrappingLinearLayoutManager mLayoutManager= new WrappingLinearLayoutManager(context,LinearLayoutManager.VERTICAL,false);
truckRV.setLayoutManager(mLayoutManager);
myOrderTruckAdapter = new MyOrderTruckAdapter(context,newTruckList);
truckRV.setItemAnimator(new DefaultItemAnimator());
truckRV.setNestedScrollingEnabled(true);
truckRV.setAdapter(myOrderTruckAdapter);
truckRV.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
@Override
public void onTouchEvent(RecyclerView recycler, MotionEvent event) {
// Handle on touch events here
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
// Disallow Parent RecyclerView to intercept touch events.
Log.e("ACTION_DOWN","ACTION_DOWN");
recycler.getParent().requestDisallowInterceptTouchEvent(true);
break;
case MotionEvent.ACTION_UP:
// Allow Parent RecyclerView to intercept touch events.
Log.e("ACTION_UP","ACTION_UP");
recycler.getParent().requestDisallowInterceptTouchEvent(false);
break;
}
}
@Override
public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
}
@Override
public boolean onInterceptTouchEvent(RecyclerView recycler, MotionEvent event) {
return true;
}
});
Почему вы хотите иметь RecyclerView внутри RecyclerView, и оба должны прокручиваться по вертикали? –
@LalitPoptani, потому что ящик, который вы видите ниже, повторяет кнопку, содержит много элементов на нем, поэтому пользователь может прокручивать его по вертикали, чтобы увидеть содержимое, и есть еще один родительский блок, разделенный разделителем. –