RecyclerView会自动滚动到WebView/Fresco SimpleDraweeView项目

10
当我放置一个包含异步加载内容且高度可扩展的项目,例如WebView或Fresco的SimpleDraweeView时,视图有时会滚动到此项目(例如仅在屏幕上部分可见时,在项目加载后滚动到它)。是否有人遇到过这个问题?

1
我也遇到了这个问题,真的很烦人。我有一些广告(在Webview中显示),它们会强制RecyclerView滚动以显示广告。你找到解决方法了吗? - Shehabic
@Shehabix 我还没有找到解决方案。我放弃了 WebView 的想法,广告只是普通的图片,显示在 SimpleDraweeView 中。但是我提前知道广告的确切宽度和高度,所以在加载图像之前设置纵横比,问题就不存在了。我已经向 Google 报告了这个问题,但他们似乎并没有认真对待。 - winiarro
我发现这个问题只影响支持库的某些版本。例如23.4.0没有受到影响,而23.3和24.0.0则受到了影响。 - Shehabic
这里有人提供了答案:https://dev59.com/wZjga4cB1Zd3GeqPGSpZ - Shehabic
1个回答

18

在您的布局XML中加入android:descendantFocusability="beforeDescendants"。这将阻止滚动到异步加载的内容。

<android.support.v7.widget.RecyclerView
            android:id="@+id/my_list"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:descendantFocusability="beforeDescendants" />

3
我知道我们不应该添加评论只是为了说谢谢,但在这种情况下我必须这样做。谢谢! - Fred Porciúncula

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接