- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我在理解 setHasFixedSize()
时遇到了一些问题。我知道当 RecyclerView
的大小没有改变时,它用于优化,来自文档。
那是什么意思?在最常见的情况下,ListView
几乎总是具有固定大小。在什么情况下它不是固定大小?这是否意味着它在屏幕上占据的实际空间随着内容的增长而增长?
最佳答案
一个非常简化版的 RecyclerView 有:
void onItemsInsertedOrRemoved() {
if (hasFixedSize) layoutChildren();
else requestLayout();
}
This link描述了为什么调用 requestLayout
可能很昂贵。基本上,每当插入、移动或移除项目时,RecyclerView 的大小(宽度和高度)可能会发生变化,进而 View 层次结构中任何其他 View 的大小可能会发生变化。如果经常添加或删除项目,这尤其麻烦。
当改变适配器的内容并不会改变它的高度或宽度时,通过将 setHasFixedSize
设置为 true 来避免不必要的布局传递。
更新: JavaDoc 已更新,以更好地描述该方法的实际作用。
RecyclerView can perform several optimizations if it can know in advance that RecyclerView's size is not affected by the adapter contents. RecyclerView can still change its size based on other factors (e.g. its parent's size) but this size calculation cannot depend on the size of its children or contents of its adapter (except the number of items in the adapter).
If your use of RecyclerView falls into this category, set this to {@code true}. It will allow RecyclerView to avoid invalidating the whole layout when its adapter contents change.
@param hasFixedSize true if adapter changes cannot affect the size of the RecyclerView.
关于android - 了解 RecyclerView setHasFixedSize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28709220/
事情是这样的:有人知道 setHasFixedSize 方法吗?有人说,如果所有项目的大小相同,它就允许优化,并且在 android.support.v7.widget 的 RecyclerView
当我运行应用程序并转到用户的 Activity 时,应用程序崩溃,显示 mUsersList.setHasFixedSize(true);导致应用程序崩溃。 这是消息“由 java.lang.Null
我在理解 setHasFixedSize() 时遇到了一些问题。我知道当 RecyclerView 的大小没有改变时,它用于优化,来自文档。 那是什么意思?在最常见的情况下,ListView 几乎总是
我已经阅读了 Android 开发者信息和一些 SO 帖子和 RecyclerView 文章。我仍然不清楚我是否可以使用: recyclerView.setHasFixedSize(true); 我的
大家好,我正在尝试从 Firebase 数据库进行实时搜索并显示数据,但每次都会收到以下错误,我不明白如何修复它。谁能帮我解决它吗?我是 Android 新手,不明白发生了什么。如果有人能向我建议我应
我想知道这两种方法在做什么?我试图在我的 RecyclerView 上设置它,但它似乎没有做任何事情。 有什么想法吗? 最佳答案 setLayoutFrozen(true) 阻止对 UI 的任何更新,
我是 RecyclerView 的新手,如果分辨率很简单,请原谅我。我四处寻找但没有运气,所以我需要指导。使用 Firestore 从 https://github.com/firebase/Fire
我正在使用 Fragments 和 RecyclerView 构建一个应用程序。 我正在关注本教程:THIS TUTORIAL 我正在使用教程的构建消息 fragment 部分来执行此操作。 但我收到
这个问题已经有答案了: What is a NullPointerException, and how do I fix it? (12 个回答) 已关闭 4 年前。 当我尝试运行我的代码时,它给我一
我是一名优秀的程序员,十分优秀!