- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我尝试将RecyclerView
等几种 View 放入NestedScrollView
中。我使用了setNestedScrollingEnabled(false)
,它对于小型数据集看起来不错,但对于大型数据集却开始变得迟钝。
在花了一些时间记录onCreateViewHolder()
方法后,我了解到回收者 View 会像旧ListView
一样一次创建它们。我试图在RecyclerView
文档中找到这种行为的原因,但是我在ScrollView
description中找到了:
You should never use a ScrollView with a ListView, because ListView takes care of its own vertical scrolling. Most importantly, doing this defeats all of the important optimizations in ListView for dealing with large lists, since it effectively forces the ListView to display its entire list of items to fill up the infinite container supplied by ScrollView.
NestedScrollView
可以解决此问题,但看来并非如此。
LayoutManager
来使用
RecyclerView
及其 View 回收的优化?
getItemViewType(int pos)
以及使用此技术添加自定义页眉和页脚的可能性,但对我来说这似乎是一个丑陋的解决方法。是的,我目前正在使用它,因为拥有比这样大的性能问题更难维护的代码更好。
最佳答案
您需要像下面那样更改布局,您使用的是NestedScrollView
,而不是您需要在android:nestedScrollingEnabled
中添加RecyclerView
属性
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:card_view="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v4.widget.NestedScrollView
android:id="@+id/YOUR_NEESTED_SCROLLVIEW"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/YOUR_RECYCLVIEW"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:nestedScrollingEnabled="false" />
</android.support.v4.widget.NestedScrollView>
</LinearLayout>
关于android - 如何使RecyclerView在NestedScrollView中进行回收?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42782786/
所以我有一个 Fragment,它使用 CoordinatorLayout,里面有一个 NestedScrollView。 NestedScrollView 内部是一个 ViewPager。 View
我知道这个问题很多,但我尝试了几乎所有的解决方案,即使是神奇的解决方案显然对我不起作用!:(父级是 NestedScrollview,在子级中还有另一个嵌套 ScrollView ) pare
我想在滚动式 Instagram 时将 TabLayout 固定在顶部。有没有办法在 NestedScrollView 中执行此操作? NestedScrollView -- ConstraintLa
我的构造中有两个项目,一个是静态项目,另一个是带有可拖动项目的回收 View 。两种类型的 View 都由 LinearLayout 包装。 LinearLayout 由 NestedScrollVi
java.lang.NoSuchMethodError: No virtual method setOnScrollChangeListener(Landroidx/core/widget/Neste
我有一个带有RecyclerView的PagedListAdapter。 当我将RecyclerView放入NestedScrollView中时,PagedList无法计算列表的末尾,因此start请
我将 CollapsingToolbarLayout 与 NestedScrollView 结合使用,在 NestedScrollView 内我有一个项目列表,但在执行中我无法滚动所有项目。 在我的示
我试图将后退按钮保留在页面底部,并让嵌套 ScrollView 填充页面底部统计信息相对布局和后退按钮下方的空间。它目前适合顶部的统计信息,但由于它适合页面,所以将后退按钮推离了页面底部。
所以我在 styles.xml 中为 AppTheme NoActionBar 设置,因为我只希望在几个 Activites 中使用工具栏,并且我还创建了包含两个项目的 post_details_me
这是我 Activity 中的原始布局: 看起来不错: 内容布局文件包含一个 TableLayout。 由于内容可能很长,我添加了一个 Neste
我使用 https://github.com/nhaarman/ListViewAnimations实现拖放,滑动删除等。但是有问题第一个图像可以滚动列表但不能拖放(它下降到相同的位置并且不进入onI
我在 CoordinatorLayout 中有一个 NestedScrollView。在 NestedScrollView 中,我有一个包含一些组件的 LinearLayout,其中一些是按钮。组件没
我注意到 CoordinatorLayout 内的 NestedSCrollView 中的内容如果没有填满整个屏幕,则始终对齐在底部。我该如何解决? 我的代码:
我正在使用 NestedScrollView 以达到某些目的 similar to this . 更新 这是我的 repo . 我发现当移动设备变成横向滚动时,我无法看到按钮或底部的灰色 View 。
我似乎找不到 nestedScrollView 的选项使其水平而不是垂直。我一直在使用 HorizontalScrollView 但我想切换到嵌套。有没有办法做到这一点?搜索文档我没有看到它,但它
我的 xml 由一个约束布局组成。这里面有 2 个按钮和 1 个嵌套的 ScrollView 。 ScrollView 中有各种元素,包括回收 View 。我希望回收 View 不滚动,而只滚动嵌套的
我在 NestedScrollview 中有一个 Recyclerview.. 一切正常,除了一个 thig。我在 NestedScrollview 中共有三个 View ,前两个是 LinearLa
我在我的 fragment 中使用 NestedScrollView。在我的 xml 中的 RelativeLayout 但它没有覆盖整个屏幕高度。 下面是我的代码 - 运行代码时,只有黑色
在我的应用程序中,我需要复杂的 ScrollView 。作为垂直列表和动画标题中的水平列表。下面的代码是一个极简示例,可以使我的问题在 iOS 设备上重现。 我在 flutter 中遇到嵌套 Scro
我正在使用带有标题图像的 CoordinatorLayout 制作详细 View ,我想在具有 NestedScrollView 的 View 中应用圆角边缘,如下所示: 我正在使用带有标题图像的 C
我是一名优秀的程序员,十分优秀!