Android在回收器视图中水平自动滚动

Android在回收器视图中水平自动滚动,android,Android,我在列表中有两个值,并使用回收器视图在水平列表视图中显示它们。在这里,我需要自动滚动水平列表无限。 我尝试了下面的代码,但没有结果 请检查此处的解决方案。 首先创建可运行的: 然后在将setadapter()设置为recyclerView后,使用以下命令: rv_autoScroll是回收视图 及 layoutmanager是设置为recyclerview的layoutmanager谢谢。。。它的工作完美。。。但是我不能设置clickListener。。。帮助我…我想..你可以像我们在适配器中

我在列表中有两个值,并使用回收器视图在水平列表视图中显示它们。在这里,我需要自动滚动水平列表无限。 我尝试了下面的代码,但没有结果


请检查此处的解决方案。

首先创建可运行的:

然后在将setadapter()设置为recyclerView后,使用以下命令:

rv_autoScroll是回收视图


layoutmanager是设置为recyclerview的layoutmanager

谢谢。。。它的工作完美。。。但是我不能设置clickListener。。。帮助我…我想..你可以像我们在适配器中设置的那样设置click listener..检查这里我已经设置了click listener,但是当滚动开始时,OnClick listener不起作用…@Simon你找到解决方案了吗?这个答案很有帮助,它100%起作用:
trainigItemRV.addOnScrollListener(new RecyclerView.OnScrollListener() {
            @Override
            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
                super.onScrolled(recyclerView, dx, dy);
                int lastItem = linearLayoutManager.findLastCompletelyVisibleItemPosition();
                if(lastItem == linearLayoutManager.getItemCount()-1){
                    mHandler.removeCallbacks(SCROLLING_RUNNABLE);
                    Handler postHandler = new Handler();
                    postHandler.postDelayed(new Runnable() {
                        @Override
                        public void run() {
                            trainigItemRV.setAdapter(null);
                            trainigItemRV.setAdapter(productsTrainingItemAdapter);
                            mHandler.postDelayed(SCROLLING_RUNNABLE, 2000);
                        }
                    }, 2000);
                }
            }
        });
        mHandler.postDelayed(SCROLLING_RUNNABLE, 2000);

This Works For me..
rv_autoScroll.addOnScrollListener(new RecyclerView.OnScrollListener() {
        @Override
        public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
            super.onScrolled(recyclerView, dx, dy);
            int lastItem = layoutManager.findLastCompletelyVisibleItemPosition();
            if(lastItem == layoutManager.getItemCount()-1){
                mHandler.removeCallbacks(SCROLLING_RUNNABLE);
                Handler postHandler = new Handler();
                postHandler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        rv_autoScroll.setAdapter(null);
                        rv_autoScroll.setAdapter(madapter);
                        mHandler.postDelayed(SCROLLING_RUNNABLE, 2000);
                    }
                }, 2000);
            }
        }
    });
    mHandler.postDelayed(SCROLLING_RUNNABLE, 2000);
trainigItemRV.addOnScrollListener(new RecyclerView.OnScrollListener() {
            @Override
            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
                super.onScrolled(recyclerView, dx, dy);
                int lastItem = linearLayoutManager.findLastCompletelyVisibleItemPosition();
                if(lastItem == linearLayoutManager.getItemCount()-1){
                    mHandler.removeCallbacks(SCROLLING_RUNNABLE);
                    Handler postHandler = new Handler();
                    postHandler.postDelayed(new Runnable() {
                        @Override
                        public void run() {
                            trainigItemRV.setAdapter(null);
                            trainigItemRV.setAdapter(productsTrainingItemAdapter);
                            mHandler.postDelayed(SCROLLING_RUNNABLE, 2000);
                        }
                    }, 2000);
                }
            }
        });
        mHandler.postDelayed(SCROLLING_RUNNABLE, 2000);

This Works For me..