[英]Android Horizontal Auto scroll in Recycler view
我在列表中有两个值,并使用Recycler视图在水平列表视图中显示它。 在这里,我需要自动滚动水平列表无限制。 我尝试使用以下代码,但没有结果。
请在这里查看解决方案。 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);
}
};
然后在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);
rv_autoScroll是recyclerview
和
layoutmanager是LayoutManager,设置为recyclerview
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..
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.