1

我在滚动视图中有线性布局,我想保持那些不可见的视图(在线性布局内)不被创建,直到它们可见或接近可见。就像与一个可见的相邻。我不知道例如关闭可见性是否会阻止创建视图(就资源而言),或者是否可以使用消失。

更新:我问这个问题的原因是,当线性布局中有 30 个视图元素时,滚动需要很长时间。这些也不是大视图元素,关于您在列表视图中找到的记录。我应该补充一点,整个滚动视图都在一个片段内。

谢谢

4

1 回答 1

1

你有一个带有 30 个孩子的 LinearLayout(vertical)。如果滚动到底部,然后会“创建”哪些视图?

  • 如果只有可见(或接近可见)的,那么您将无法测量它们在滚动中的位置。

  • 如果那时你只是说你应该在它们第一次出现时创建它们,然后留下来,那可能会奏效。然而,一旦你滚动一些,你仍然会有一堆视图,和你现在遇到的同样的问题。


存在滚动视图,我碰巧正在使用一个。

没错,但这并不一定意味着它是完成这项工作的最佳工具。我在我的第一个 Android 项目中尝试了类似的方法。我对 ListViews 了解不多,最终推出了我自己的适配器,这听起来与您正在做的事情非常相似。

长话短说,性能很差。它确实奏效了,但是一旦我(最终)切换到 ListView,差异简直是惊人的。我只是想阻止其他人走上这条路。这是浪费时间试图让它“恰到好处”的日子。

于 2013-08-02T20:07:22.087 回答