【问题标题】:Preload more Views using a ListView-Adapter使用 ListView-Adapter 预加载更多视图
【发布时间】:2014-04-23 08:30:19
【问题描述】:

如果我理解正确,ListView-Adapter 会再加载 1 个视图,然后在屏幕上当前可见。让我们说视图 1 到 5,加上不可见但预加载的视图 6。如果用户向下滚动,视图 1 将被关闭并显示视图 6。我想知道如何预加载更多视图,例如示例中的视图 6,而不是只有一个视图,例如三个视图。
我希望通过增加 preloaded-view-count 给 ListView 项目更多的时间来计算视图/获得更流畅的滚动体验。

由于相关关键词的主题太多,所以简要列出这个问题不是关于的:

  • 加载 ListView 数据模型(从 Web/DB 获取数据)
  • 到达 ListView 末尾时加载更多数据
  • 这与 ViewHolder 模式无关(回收视图)

PS:Google 有点难——所有出现在我脑海中的关键词都已经被其他主题占用了……

【问题讨论】:

  • 这没有回答你的问题,但它解释了回收的工作原理,所以它可能有用stackoverflow.com/questions/11945563/…
  • @sherpya 感谢您的链接。有一些关于高度和宽度计算的提示对我来说是新的。
  • 你找到改变预加载项数的方法了吗?
  • 不管怎样,如果您在滚动平滑度方面遇到问题,添加更多视图不会使滚动更平滑,通过创建更多布局和计算会使情况变得更糟。您最好对代码进行分析以确定缓慢的来源并找出优化布局、绘制或适配器绑定的位置。

标签: android listview android-arrayadapter


【解决方案1】:

负责控制何时隐藏/显示视图的类是LayoutManager.

我不太熟悉该类的内部工作原理,但我想您可以创建一个自定义 LayoutManager 来覆盖一些相关部分来实现您需要的功能。

【讨论】:

    猜你喜欢
    • 2016-07-15
    • 1970-01-01
    • 1970-01-01
    • 2017-08-23
    • 2012-09-17
    • 2014-03-03
    • 1970-01-01
    • 1970-01-01
    • 2017-05-17
    相关资源
    最近更新 更多