单击按钮时,我想移动到 recyclerview 中的下一个对象。我尝试使用 scrollToPosition 但我不知道如何获得对象的当前位置。如果我在那里输入一个数字,那么它就可以工作,但它只会跳到那个位置。
我用来滚动的代码
layoutManager.scrollToPosition(2);
最佳答案
LinearLayoutManager - 像 findLastCompletelyVisibleItemPosition()
这样的方法并检查 AdapterItems 的大小并滚动到下一个(如果 findLast < adapter.itemsSize 则 +1)。很简单的逻辑。
LinearLayoutManager layoutManager = new LinearLayoutManager(getContext());
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(adapter);
按钮点击逻辑:
btnClick.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (layoutManager.findLastCompletelyVisibleItemPosition() < (adapter.getItemCount() - 1)) {
layoutManager.scrollToPosition(layoutManager.findLastCompletelyVisibleItemPosition() + 1);
}
}
});
在你的 RecyclerView 扩展适配器中,你应该有这样的东西:
@Override
public int getItemCount() {
return yourData != null ? yourData.length() : 0;
}
关于android - 如何在单击按钮时移动到 recyclerview 中的下一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50724643/