gpt4 book ai didi

Android scrollTo 在复杂的 View 层次结构中不起作用

转载 作者:行者123 更新时间:2023-11-29 02:41:38 24 4
gpt4 key购买 nike

我有以下 View 层次结构:

CoordinatorLayout
<include statement (other file begins here)>
RelativeLayout
NestedScrollView
RelativeLayout
<include view above recyclerview that mimics a recycler card item>
<include view above recyclerview that mimics a second recycler card item>
RecyclerView

现在,我需要滚动到 RecyclerView 适配器数据集的特定索引,但以下代码均无效:

    recycler.post(new Runnable()
{
@Override
public void run()
{
//scrollView.smoothScrollTo(0, ((int) recycler.getChildAt(pos).getY()));
//recycler.scrollToPosition(pos);
linearLayoutManager.scrollToPosition(pos);
}
});//, 250);

我认为它可能与 ScrollView 中的回收 View 嵌套有关,但我真的不知道。根本没有 nestedscrollview 的原因是因为我的 recyclerview 之前的两个 include 语句实际上是控制 recyclerview 的数据集的 cardviews。用户可以随时隐藏这两张卡片,并且有一个淡入淡出的动画将 recyclerview 带到卡片所在的位置。如果这听起来很复杂,它确实很复杂,而且我认为如果我将它们作为不同的 View 类型包含在回收器中而不是放置它们,那么我称之为包含这些“控制卡”的效率会降低,更难制作动画并且更难使用独立于它之上,就像我现在拥有的那样。

最佳答案

试试这样调用

yourRecyclerView.post(new Runnable() {
@Override
public void run() {
linearLayoutManager.scrollToPosition(pos);
}
});

关于Android scrollTo 在复杂的 View 层次结构中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43670561/

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