请问要滚动一个scrollview内的recyclerview指定的位置,怎么写?

康贝勒 2019-03-21 01:53:05
如题,一个NestedScrollView内嵌套了Recyclerview,现在想滑动到recyclerview指定的position,该怎么办?
...全文
2148 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
王能 2019-04-01
  • 打赏
  • 举报
回复
去掉嵌套,使用添加header和footer的方式放在RecyclerView里面
康贝勒 2019-03-25
  • 打赏
  • 举报
回复
引用 5 楼 酷哥笑咯 的回复:
[quote=引用 4 楼 魔法少年康盛超 的回复:]
[quote=引用 3 楼 酷哥笑咯 的回复:]
[quote=引用 2 楼 魔法少年康盛超 的回复:]
[quote=引用 1 楼 酷哥笑咯 的回复:]
首先你要把RV NestedScrollingEnabled这个属性设为false,然后调用rv的smoothScrollToPosition这个滚动方法就行了

不好使啊,按你所示,所有的Rv都加入了该属性: android:nestedScrollingEnabled="false",接着我在Aty里调用,却没有丝毫动静,但是去掉scrollview就没问题,您那边有Demo贴出来看一下吗?[/quote]
我这边没有demo 但是我一直都是这样的。如果不行的,你可以在rv外面套一层FrameLayout[/quote]

没有实现效果,我将您的方法复数一遍,您看看对不对,首先,将所有Rv加入 android:nestedScrollingEnabled="false"属性,
您说的smoothScrollToPosition方法,有一个构造函数:smoothScrollToPosition(RecyclerView recyclerView, State state, int position)中间的state不知道放什么,所以我调用了((LinearLayoutManager) rv_list.getLayoutManager()).scrollToPositionWithOffset(i, 0); 但是没有效果(按道理讲这两个方法效果一致)。

然后我又在每个rv外层包裹了Fragment,无效,接着我又在NestedScrollView下加了Framment,也无效,您帮忙看看,我哪儿出错了[/quote]
额。你这样说,我也看不到啥问题。。。[/quote]

你项目里有这样的代码么,给我瞧瞧吧
kgxl 2019-03-23
  • 打赏
  • 举报
回复
引用 4 楼 魔法少年康盛超 的回复:
[quote=引用 3 楼 酷哥笑咯 的回复:] [quote=引用 2 楼 魔法少年康盛超 的回复:] [quote=引用 1 楼 酷哥笑咯 的回复:] 首先你要把RV NestedScrollingEnabled这个属性设为false,然后调用rv的smoothScrollToPosition这个滚动方法就行了
不好使啊,按你所示,所有的Rv都加入了该属性: android:nestedScrollingEnabled="false",接着我在Aty里调用,却没有丝毫动静,但是去掉scrollview就没问题,您那边有Demo贴出来看一下吗?[/quote] 我这边没有demo 但是我一直都是这样的。如果不行的,你可以在rv外面套一层FrameLayout[/quote] 没有实现效果,我将您的方法复数一遍,您看看对不对,首先,将所有Rv加入 android:nestedScrollingEnabled="false"属性, 您说的smoothScrollToPosition方法,有一个构造函数:smoothScrollToPosition(RecyclerView recyclerView, State state, int position)中间的state不知道放什么,所以我调用了((LinearLayoutManager) rv_list.getLayoutManager()).scrollToPositionWithOffset(i, 0); 但是没有效果(按道理讲这两个方法效果一致)。 然后我又在每个rv外层包裹了Fragment,无效,接着我又在NestedScrollView下加了Framment,也无效,您帮忙看看,我哪儿出错了[/quote] 额。你这样说,我也看不到啥问题。。。
康贝勒 2019-03-22
  • 打赏
  • 举报
回复
引用 3 楼 酷哥笑咯 的回复:
[quote=引用 2 楼 魔法少年康盛超 的回复:]
[quote=引用 1 楼 酷哥笑咯 的回复:]
首先你要把RV NestedScrollingEnabled这个属性设为false,然后调用rv的smoothScrollToPosition这个滚动方法就行了

不好使啊,按你所示,所有的Rv都加入了该属性: android:nestedScrollingEnabled="false",接着我在Aty里调用,却没有丝毫动静,但是去掉scrollview就没问题,您那边有Demo贴出来看一下吗?[/quote]
我这边没有demo 但是我一直都是这样的。如果不行的,你可以在rv外面套一层FrameLayout[/quote]

没有实现效果,我将您的方法复数一遍,您看看对不对,首先,将所有Rv加入 android:nestedScrollingEnabled="false"属性,
您说的smoothScrollToPosition方法,有一个构造函数:smoothScrollToPosition(RecyclerView recyclerView, State state, int position)中间的state不知道放什么,所以我调用了((LinearLayoutManager) rv_list.getLayoutManager()).scrollToPositionWithOffset(i, 0); 但是没有效果(按道理讲这两个方法效果一致)。

然后我又在每个rv外层包裹了Fragment,无效,接着我又在NestedScrollView下加了Framment,也无效,您帮忙看看,我哪儿出错了
kgxl 2019-03-22
  • 打赏
  • 举报
回复
引用 2 楼 魔法少年康盛超 的回复:
[quote=引用 1 楼 酷哥笑咯 的回复:] 首先你要把RV NestedScrollingEnabled这个属性设为false,然后调用rv的smoothScrollToPosition这个滚动方法就行了
不好使啊,按你所示,所有的Rv都加入了该属性: android:nestedScrollingEnabled="false",接着我在Aty里调用,却没有丝毫动静,但是去掉scrollview就没问题,您那边有Demo贴出来看一下吗?[/quote] 我这边没有demo 但是我一直都是这样的。如果不行的,你可以在rv外面套一层FrameLayout
康贝勒 2019-03-22
  • 打赏
  • 举报
回复
引用 1 楼 酷哥笑咯 的回复:
首先你要把RV NestedScrollingEnabled这个属性设为false,然后调用rv的smoothScrollToPosition这个滚动方法就行了

不好使啊,按你所示,所有的Rv都加入了该属性: android:nestedScrollingEnabled="false",接着我在Aty里调用,却没有丝毫动静,但是去掉scrollview就没问题,您那边有Demo贴出来看一下吗?
kgxl 2019-03-21
  • 打赏
  • 举报
回复
首先你要把RV NestedScrollingEnabled这个属性设为false,然后调用rv的smoothScrollToPosition这个滚动方法就行了

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧