Как синхронизировать прокрутку recyclerview со строкой mpChart в Android?

У меня есть recyclerview, который прокручивается горизонтально, и линейный mpchart, который тоже прокручивается горизонтально (они отделены друг от друга). Я хочу прокручивать их одновременно. Кто-нибудь может мне помочь?

Это похоже на решение проблемы с вложенной прокруткой, и, вероятно, на нее уже дан ответ. Проверьте, поможет ли вам ответ здесь: stackoverflow.com/questions/48477033/… или найдите что-то вроде «представление прокрутки внутри recylcerview»

kidroca 23.12.2020 16:46
0
1
259
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я наконец решил проблему, используя эти коды

     recyclerView.setOnScrollChangeListener(new RecyclerView.OnScrollChangeListener() 
       {
        @Override
        public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, 
       int oldScrollY) {
            lineChart.scrollBy(scrollX - oldScrollX, scrollY - oldScrollY);          
            lineChart.notifyDataSetChanged();
            lineChart.invalidate();

        }
    });
    lineChart.setOnChartGestureListener(new OnChartGestureListener() {
        @Override
        public void onChartGestureStart(MotionEvent me, 
  ChartTouchListener.ChartGesture lastPerformedGesture) {
        }

        @Override
        public void onChartGestureEnd(MotionEvent me, ChartTouchListener.ChartGesture 
      lastPerformedGesture) {

        }

        @Override
        public void onChartLongPressed(MotionEvent me) {

        }

        @Override
        public void onChartDoubleTapped(MotionEvent me) {

        }

        @Override
        public void onChartSingleTapped(MotionEvent me) {

        }

        @Override
        public void onChartFling(MotionEvent me1, MotionEvent me2, float velocityX, float velocityY) {

        }

        @Override
        public void onChartScale(MotionEvent me, float scaleX, float scaleY) {

        }

        @Override
        public void onChartTranslate(MotionEvent me, float dX, float dY) {
           recyclerView.scrollBy((int) -dX, (int) -dY);
            lineChart.notifyDataSetChanged();
            lineChart.invalidate();
        }
    });

теперь все работает хорошо. единственная проблема в том, что моя диаграмма прокручивается за родительской

Другие вопросы по теме