相关疑难解决方法(0)

如何使用LinearSnapHelper以编程方式捕捉到Recycler视图上的位置

我已经使用LinearSnapHelper实现了一个水平的recyclelerView,以实现选择特定配置的UI输入.有点像旧学号码选择器/选择器或旋转器.中心的项目是选定的位置.

它工作得很好,所有,但这是问题所在.在初始启动时,我需要以编程方式设置回收器视图的位置,以便所选项(其索引从磁盘加载)位于中心位置.

.scrollToPosition() 不会工作,因为它将所选项目放在开头.

现在我知道我可以做所有的数学运算并计算x坐标并手动设置它,但这就是很多冗余的工作,因为LinearSnapHelper已经这样做了,我觉得应该有一种方法来重用那个逻辑,但是实际上发起了一场狂欢.

我需要类似的东西 LinearSnapHelper.snapToPosition()

android

10
推荐指数
2
解决办法
4166
查看次数

使用SnapHelper的RecyclerView,scrollToPosition之后没有捕捉项目

我的活动中有一个RecyclerView,并附加了LinearSnapHelper:

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

final SnapHelper snapHelper = new LinearSnapHelper();
snapHelper.attachToRecyclerView(recyclerView);
Run Code Online (Sandbox Code Playgroud)

问题是,当我最初要滚动到特定项目时,不会触发捕捉帮助器来附加该项目(请参见图片):

recyclerView.getLayoutManager().scrollToPosition(timePickerAdapter.getCurrentPosition());
Run Code Online (Sandbox Code Playgroud)

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

在此处输入图片说明

android android-recyclerview

3
推荐指数
2
解决办法
2620
查看次数

标签 统计

android ×2

android-recyclerview ×1