【问题标题】:Is it possible to make ListView "draw more" than is on the screen? (Cache more.)是否可以让 ListView “绘制更多”而不是在屏幕上? (缓存更多。)
【发布时间】:2014-07-24 09:32:05
【问题描述】:

假设您有一个全屏 ListView,其中的单元格大致与屏幕大小相同,并且有 100 多个单元格。

事实上,我注意到 ListView“保持活力”大约五个单元格...

(比方说,屏幕上大约有 1 或 2 个,屏幕外有 1 或 2 个上下。)

很简单,你能把这个“设置”改成 20 吗?滚动时是否可以强制 ListView “更准备好”——也就是说,“减少回收”?

什么情况?还是我应该只编写自己的细胞回收处理程序? (就像你有时在 iOS 上所做的那样。)

请注意,基本上 - 假设您将 ListView 的“视图”设置为实际屏幕的 5 倍或 10 倍。 (然后“真正的”屏幕就在其中。)事实上,这正是我所描述的。它会一直有更多的细胞“准备好”。事实上,你能做到吗? (也许那是微不足道的,我不知道。)或者 ListView 是否仅由“真实的,真正的”屏幕严格触发?你能以某种方式“欺骗”它,让它认为屏幕比实际高 5 倍吗?

干杯

【问题讨论】:

  • 我明白你的意思,但我不确定这会给你一个好的答案,但是,看看THIS 编辑:你甚至可以看看HERE
  • 我不认为你可以在 android 中做到这一点。它只会在项目离开屏幕时回收。

标签: android android-listview recycle


【解决方案1】:

我认为ViewPagerListView 更适合您的情况。对于ViewPager的垂直实现,你可以看看这个问题。

https://stackoverflow.com/questions/14889530/vertical-viewpager-implementation

Android: Vertical ViewPager

然后您可以使用public void setOffscreenPageLimit (int limit) 方法来设置您想要“保持活动”的视图数。

【讨论】:

    【解决方案2】:

    我不认为你可以在 android 中做到这一点。这是因为物品在屏幕外时会被回收。

    【讨论】:

      猜你喜欢
      • 2022-09-23
      • 1970-01-01
      • 1970-01-01
      • 2010-11-07
      • 2013-07-30
      • 1970-01-01
      • 1970-01-01
      • 2013-08-05
      • 1970-01-01
      相关资源
      最近更新 更多