gpt4 book ai didi

android - 带有 SnapHelper 的 RecyclerView,项目在 scrollToPosition 之后不被捕捉

转载 作者:太空宇宙 更新时间:2023-11-03 12:47:06 24 4
gpt4 key购买 nike

我的 Activity 中有一个 RecyclerView 并附加了一个 LinearSnapHelper:

TimePickerAdapter timePickerAdapter = new TimePickerAdapter(hours);
recyclerView = (RecyclerView) root.findViewById(R.id.recycler_view);

final SnapHelper snapHelper = new LinearSnapHelper();
snapHelper.attachToRecyclerView(recyclerView);

问题是,当我最初想滚动到特定项目时,没有触发 snap 助手来附加该项目(见图):

recyclerView.getLayoutManager().scrollToPosition(timePickerAdapter.getCurrentPosition());

当我用手滚动时,它开始按预期工作。有什么解决办法吗?

enter image description here

最佳答案

SnapHelper 依赖于 RecyclerView.OnFlingListener#onFling()RecyclerView.OnScrollListener#onScrollStateChanged(recyclerView, RecyclerView.SCROLL_STATE_IDLE) 来触发 snap行动。

但是 scrollToPosition() 不会触发回调。您可以在 scrollToPosition() 之后调用 smoothScrollBy(1, 0) 来触发 SnapHelper 滚动。

关于android - 带有 SnapHelper 的 RecyclerView,项目在 scrollToPosition 之后不被捕捉,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41280176/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com