在Recycler视图中的Android Horizo​​ntal Auto滚动

sat*_*ish 3 android

我在列表中有两个值,并使用Recycler视图在水平列表视图中显示它.在这里,我需要自动滚动水平列表无限制.我尝试使用以下代码,但没有结果.

Horizo​​ntalScrollView:添加新视图时自动滚动到结束?

回复表示赞赏......

Rit*_*sar 11

请在这里查看解决方案. https://github.com/ritesh-bhavsar86/StockAutoScroll

首先创建runnable:

final int duration = 10;
final int pixelsToMove = 30;
private final Handler mHandler = new Handler(Looper.getMainLooper());
private final Runnable SCROLLING_RUNNABLE = new Runnable() {

    @Override
    public void run() {
        rv_autoScroll.smoothScrollBy(pixelsToMove, 0);
        mHandler.postDelayed(this, duration);
    }
};
Run Code Online (Sandbox Code Playgroud)

然后在setadapter()到recyclerView之后使用以下命令:

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);
Run Code Online (Sandbox Code Playgroud)

rv_autoScroll是recyclerview

layoutmanager是LayoutManager,设置为recyclerview

  • 谢谢...它的工作完美...但是我无法设置clickListener ...帮助我... (2认同)