ListView完全不如RecyclerView吗?

2024-03-30

因此,Vogella 似乎表明与 RecyclerView 相比,ListView 已完全被弃用。实际上并不是已弃用,而是在任何情况下 ListView 都是更好的选择。这是真的?公共软件书籍表明它的更新速度可能会更快。还有其他理由从现在开始完全避免使用 ListView 吗?仅阅读一些示例,似乎 RecyclerView 为代码添加了许多层难度/卷积,因此我希望避免使用此类,除非有很好的理由(动画不是一个足够好的理由)


RecyclerView机制包含:

  1. RecyclerView:ViewGroup 或容器
  2. LayoutManager:负责布局和item的排列,有3个内置的LayoutManager,线性布局管理器 https://developer.android.com/reference/android/support/v7/widget/LinearLayoutManager.html, 网格布局管理器 https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager.html和 StaggeredGridLayoutManager。
  3. ItemDecoration:自定义物品装饰,例如:DividerItemDecoration
  4. ItemAnimator:自定义项目动画

ListView = RecyclerView + LinearLayoutManager(垂直)。

RecyclerView机制可以轻松实现ListView、GridView、WaterFall...,也可以通过自定义LayoutManager实现其他自定义视图。

这就是为什么我们将来应该使用RecyclerView。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ListView完全不如RecyclerView吗? 的相关文章

  • 如何在 Android 中保存相机的临时照片?

    在尝试从相机拍照并将其保存到应用程序的缓存文件夹中时 我没有得到任何可见的结果 应用程序不会崩溃 但在 LogCat 上 当我尝试将 ImageView src 字段设置为刚刚获取的文件的 URI 时 我收到此消息 09 17 14 03
  • 使用workmanager时Firestore脱机持久性错误

    我正在使用一个WorkManger定期从我的中检索信息Firestore当应用程序处于后台和前台时的数据库 此信息用于根据状态更新 UI 因此不同的状态会添加或删除 UI 的不同部分 第一次运行时效果很好 但是 一旦应用程序处于后台并且Wo
  • 在 ViewPager Fragments 中使用 Master/Detail 模板(下载链接)

    工作代码 https github com lukeallison ViewPagerMasterDetail https github com lukeallison ViewPagerMasterDetail Android 主 详细流
  • 卸载后 Web 应用程序不显示“添加到主屏幕”

    这是我第一次创建网络应用程序 我设法解决了这个问题 所以我得到了实际的 chrome 提示 将其添加到主屏幕 然后我从手机上卸载了该网络应用程序 因为我想将其展示给我的同事 但是 屏幕上不再出现提示 问题 这是有意为之的行为还是我的应用程序
  • Android 30+ 中的视频捕获意图 - 只有所有者才能与待处理项目交互

    我正在尝试在我的应用程序上捕获视频 它可以在 android API 30 以下运行 但不能在 30 以上运行 似乎在 sdk 30 之后 android 不允许完全读取外部存储 作用域存储 我目前遇到这个错误 java lang Ille
  • 如何以编程方式检查 AndroidManifest.xml 中是否声明了服务?

    我正在编写一个库 该库提供了一项服务 其他开发人员可以通过将其包含在他们的项目中来使用该服务 因此 我无法控制 AndroidManifest xml 我在文档中解释了要做什么 但一个常见的问题是人们忽略了将适当的 标记添加到其清单中 或者
  • android xamarin 中的 reCaptcha

    我想在 Xamarin android 应用程序中实现验证码 我抓住了这个在 Android 中集成 googles reCaptcha 验证 https www c sharpcorner com article how to integ
  • Android Activity 生命周期函数基础知识

    我正在测试这段代码 它显示活动所处的状态 public class Activity101Activity extends Activity String tag Lifecycle Called when the activity is
  • Adobe 是否为其 PDF 阅读器提供 Android SDK 或 API? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我希望能够在我们的应用程序内的视图中显示本地 PDF 文件 在 Android 4 03 下的平板电脑上运行 目前 我们将 Adob eR
  • 尝试将相机切换回前面但出现异常

    尝试将相机切换回前面 但出现异常 找不到 问题请检查并帮助 error 01 27 11 49 00 376 E AndroidRuntime 30767 java lang RuntimeException Unable to start
  • 发布android后更改应用内购买项目的价格

    在 Google Play 上发布后 是否可以更改应用内购买商品的价格 我假设该应用程序也已发布 完整的在线文档位于http developer android com http developer android com也http sup
  • 获取当前 android.intent.category.LAUNCHER 活动的实例

    我创建了一个库项目 并在多个应用程序之间共享 我实现了一个简单的会话过期功能 该功能将在一段时间后将用户踢回到登录屏幕 登录屏幕活动是我的主要活动 因此在清单中它看起来像这样
  • 如何使用 IF 检查 TextView 可见性

    我有一个 onCheckedChangeListener 来根据选择的单选按钮显示文本视图 我有 1 个疑问和 1 个难题 想知道是否有人可以帮助我 问题 您能否将单选组默认检查值设置为 否 单选按钮 以便一开始就不会检查任何内容 问题 如
  • Ubuntu 16.04 - Genymotion:找不到 /dev/hw_random

    I install Genymotion on the Ubuntu 16 04 64Bit I created a virtual emulator for Android 6 0 then I run this emulator but
  • 如何使用InputConnectionWrapper?

    我有一个EditText 现在我想获取用户对此所做的所有更改EditText并在手动将它们插入之前使用它们EditText 我不希望用户直接更改中的文本EditText 这只能由我的代码完成 例如通过使用replace or setText
  • Android访问远程SQL数据库

    我可以直接从 Android 程序访问远程 SQL 数据库 在网络服务器上 吗 即简单地打开包含所有必需参数的连接 然后执行 SQL 查询 这是一个私人程序 不对公众开放 仅在指定的手机上可用 因此我不担心第三方获得数据库访问权限 如果是这
  • 如何根据 gradle 风格设置变量

    我想传递一个变量test我为每种风格设置了不同的值作为 NDK 的定义 但出于某种原因 他总是忽略了最后味道的价值 这是 build gradle apply plugin com android library def test andr
  • 如何确定对手机号码的呼叫是本地呼叫还是 STD 或 ISD

    我正在为 Android 开发某种应用程序 但不知道如何获取被叫号码是本地或 STD 的号码的数据 即手机号码检查器等应用程序从哪里获取数据 注意 我说的是手机号码 而不是固定电话 固定电话号码 你得到的数字是字符串类型 因此 您可以获取号
  • 将 Intent 包装在 LabeledIntent 中以用于显示目的

    要求 我的应用程序中有一个 共享 按钮 我需要通过 Facebook 分享 我需要选择是否安装原生 Facebook 应用程序 我们的决定是 如果未安装该应用程序 则将用户发送到 facebook com 进行分享 当前状态 我可以检测何时
  • 强制 Listview 不重复使用视图(复选框)

    我做了一个定制Listview 没有覆盖getView 方法 Listview 中的每个项目都具有以下布局 联系布局 xml

随机推荐

  • 无法运行任何 flutter 命令“flutter 工具无法访问文件或目录”

    每当我运行 flutter 命令时 包括 扑医生 扑干净 颤振通道 任何通道 etc 我收到以下错误 Gregorys MacBook Pro gregory flutter doctor Unhandled exception Excep
  • 最小宽度和最大宽度 css 媒体查询

    当使用宽度为 720px 的 Samsung Galaxy Nexus 时 这行代码不应该加载样式表 mobile large css 吗 但事实并非如此 这是什么原因以及如何解决 我也在用这个 可能你必须定义device width而不是
  • 如何根据单元格条件将列变成行?

    以下是我的数据示例 Omschrijving AMM AM FG G K MOTRED MINI BPM RVM MOTRED STM RMI MOTRED 1 x magneetplug 1 1 1 1 1 1 2 x afwaterin
  • 第一个弹出窗口显示过时的状态

    我发现了一个符合我口味的弹出窗口的奇怪行为 我希望它显示一个视图PopoverItem and number 两者均应从onTapGesture in ForEach 问题是弹出窗口总是显示默认值number第一次点击时 它会按预期工作 错
  • 枚举的编译时查找表

    我有一个枚举列表 其定义如下 enum PinEnum kPinInvalid kPinA0 kPinA1 kPinB0 kPinB1 kPinC0 kPinC1 每个枚举都需要与其他两个值相关联 即端口和引脚号 目前 我通过运行时函数访问
  • 更改背景图像的不透明度

    我有一个带有文本块的 div 元素和一个父 div 我在其中设置了背景图像 现在我想降低背景图像的不透明度 我怎样才能做到这一点 EDIT 我希望通过编辑 html 内容来改变我的博客文章在 blogger com 上的显示方式 html
  • Java 系统属性的范围

    在Java中我们使用System setProperty 方法来设置一些系统属性 根据本文 http blogs oracle com foo entry monitored system setproperty系统属性的使用有点棘手 Sy
  • 在每个页面上缓存包含特定于会话的数据的 Drupal 站点

    我们有一个用 Drupal 6 编写的网站 我们想使用Drupal的缓存机制来提高性能 但是当我们打开它时 我们发现了问题 因为我们的站点每个页面都显示会话数据 Drupal 的缓存系统仅适用于静态内容页面 而我们的会话数据实际上意味着我们
  • AWS API Gateway CORS 飞行前检查失败

    我正在使用 Zappa 来部署我的应用程序 cors 已启用 并且当按下 API Gateway OPTIONS 资源中选项上的 test 按钮时 一切似乎都工作正常 但是 当我尝试进行 CORS 飞行前检查时 我收到了 500 错误 me
  • Bigquery 将列添加到表架构

    我正在尝试向 BigQuery 现有表添加新列 我尝试过 bq 命令工具和 API 方法 调用 Tables update 时出现以下错误 我尝试过提供带有附加字段的完整架构 这也给了我相同的错误 如下所示 使用 API 我收到以下错误 s
  • 将 ParameterExpression 与 org.springframework.data.jpa.domain.Specification 一起使用时如何将参数传递给函数?

    我使用 org springframework data jpa domain Specification 与 JpaSpecificationExecutor 一起轻松创建带有 Java 条件的查询 但现在我需要调用返回整数值的 MySQ
  • 奇怪的“在所有成员初始化之前被闭包捕获的‘self’”错误

    请看一下下面的代码 class A let a String let b String init a String b String self a a self b b class B A let c Bool private let aE
  • 连接字符串存储在哪里

    我正在创建一个类库 其中包含我在开发的应用程序中经常使用的所有自定义类 该库被编译并作为参考添加到我的每个应用程序中 使我能够调用该库中包含的自定义类 我的库中的自定义类包括多层继承 但它们最终都起源于我称为 Alpha 的基类 在该类中
  • 在 Java 中重新排列 ArrayList 的最佳方法

    重新排列列表中元素的最佳方法是什么 我需要能够移动元素来移动列表中的元素 在索引中后退或前进一步 我正在考虑获取该项目的索引 将其添加到索引 1 2 处并删除旧引用 是否有一种更快的方法来处理重新排列 而无需在此过程中在列表中创建重复项 使
  • WordPress 标题:如果长度超过 50 个字符,则显示省略号

    我有一个带有标题的 WordPress 网站 如果标题超过 50 个字符 我需要添加省略号 位于标题末尾 并将标题停在 50 个字符处 下面是我正在编写的 PHP 但它似乎无法正常工作 The mb strimwidth http www
  • MeanShift `fit` 与 `fit_predict` scikit learn

    Suppose X是数组的典型形式 给定代码 from sklearn cluster import MeanShift ms MeanShift bin seeding True cluster all False ms fit X 一旦
  • CSS 最小高度 100%,具有多个 div

    好的 我试图让页面显示 100 的视口高度 但问题是页面有多个并不总是嵌套的 div 我一直在浏览多个问题和其他网站 但找不到适合我需要的答案 我目前的布局如下 div class container div class header di
  • 如何将 java.util.logging 重定向到文件?

    我有一个使用外部库的java程序 主程序使用log4j记录其消息并且库使用java util logging 我的问题是来自外部库和主程序的日志消息混合在控制台中 我想重定向all将来自外部库的消息记录到文件中 我尝试这样做logging
  • 如何在 Mac OSX 10.6 上卸载 wxpython 2.8

    在继续之前 我的机器和已安装的软件包的一些详细信息 Mac OSX 版本 10 6 6 Python版本 Activestate Python 2 7 1 wxpython 版本 wxpython 2 8 使用Carbon API 因此仅限
  • ListView完全不如RecyclerView吗?

    因此 Vogella 似乎表明与 RecyclerView 相比 ListView 已完全被弃用 实际上并不是已弃用 而是在任何情况下 ListView 都是更好的选择 这是真的 公共软件书籍表明它的更新速度可能会更快 还有其他理由从现在开