gpt4 book ai didi

当子元素展开/折叠时,Android RecyclerView 滚动到顶部

转载 作者:行者123 更新时间:2023-12-02 02:53:08 26 4
gpt4 key购买 nike

我在回收站 View 中有一个使用数据绑定(bind)动态生成的元素列表。每个元素都有一个底部 View ,最初设置为 View.GONE,但是一旦用户单击该元素并展开 View ,回收器 View 就会自动滚动回列表顶部。相反,如果 View 被展开然后再次单击以折叠,则回收器 View 再次滚动到列表顶部。我尝试跟踪适配器元素的 ID(再次使用数据绑定(bind)),在子元素展开或折叠时将焦点设置为子元素,并使用绑定(bind)适配器为展开/折叠本身设置动画。

我怀疑回收站 View 中的适配器正在接收 onNotifyDataChanged()当其中一个 child 的高度发生变化时发出警报,呈现一个额外的 View (尽管仍然在其中一个 child 内,而不是列表中的单独 child ),并自动滚动到顶部。有没有办法覆盖这个?有谁知道单击其中一个元素->展开/折叠时还有什么可能导致列表对齐到顶部?

最佳答案

所以我找到了解决我的问题的方法,以防有人遇到类似的情况。我实际上最终找到了这个答案:RecyclerView notifyDataSetChanged scrolls to top position

涉及交错布局管理器的第二个解决方案是我采用的路线,因为我希望能够包装内容。我的怀疑是正确的,它与回收站 View 中元素的高度变化有关。可扩展项目的父包装内容,因此一旦可扩展部分出现/消失(至少这是我从中得到的),回收站 View 被迫重新计算项目的大小。

关于当子元素展开/折叠时,Android RecyclerView 滚动到顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51087214/

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