gpt4 book ai didi

android - 以编程方式将嵌套的 RecyclerView 滚动到某个位置

转载 作者:行者123 更新时间:2023-12-02 02:42:27 24 4
gpt4 key购买 nike

我知道如何以编程方式将 recyclerview 滚动到特定位置。但我的问题是我有一个带有垂直线性布局的recyclerview,它的每一行都有另一个子recyclerview gridlayout。现在,当我以编程方式滚动父 recyclerview 时,它不会滚动到给定位置。但是,如果从中删除子 recyclerview,那么它会毫无问题地滚动。
这是我已经尝试过的,并且一切都适用于在其行中没有子 recyclerview 的单个 recyclerview。

card_recyclerView.getLayoutManager().scrollToPosition(position)
card_recyclerView.smoothScrollToPosition(position);
card_recyclerView.getLayoutManager().scrollToPositionWithOffset(position, 20);

我的主要回收站 View
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/card_recyclerView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:clipToPadding="false"
android:layout_marginLeft="5dp"
android:background="#ffffff"
android:layout_weight="1"
/>

主要 recyclerview 行项目
                            <androidx.recyclerview.widget.RecyclerView
android:id="@+id/cards_recycler_adapter"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/layout_see_more_top"/>

最佳答案

我刚刚创建了您的 View ,没有任何问题。我设法只滚动

card_recyclerView.getLayoutManager().scrollToPosition(position)
card_recyclerView.smoothScrollToPosition(position);

这是我的第一个适配器的 View 持有者的代码:
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

ViewHolder(View itemView) {
super(itemView);
RecyclerView recyclerView = itemView.findViewById(R.id.recyclerView2);
recyclerView.setAdapter(new TestAdapter2(itemView.getContext(), mData));
GridLayoutManager linearLayoutManager = new GridLayoutManager(itemView.getContext(), 3);
recyclerView.setLayoutManager(linearLayoutManager);
}
}

如果您仍然有问题,请提供适配器的代码,也许还提供行的 xml。

关于android - 以编程方式将嵌套的 RecyclerView 滚动到某个位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58540699/

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