我在scrollview中有线性布局,并且我想防止那些不可见的视图(在线性布局内部)被创建,直到它们变为可见或接近可见为止。就像与可见的相邻。我不知道例如是否关闭可见性将阻止创建视图(就资源而言),或者是否可以使用它。

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

谢谢

最佳答案

您有一个带有30个子级的LinearLayout(vertical)。如果滚动到底部,那么将“创建”哪些视图?


如果只有可见的(或接近可见的),那么您将无法测量滚动中向下的距离。
如果那时候您只是说您应该在它们初次出现时就创建它们,然后再保留它们,那可能会起作用。但是,一旦滚动一些,您仍然会有很多视图,并且遇到了同样的问题。





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


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

长话短说,表现很差。它确实有效,但是一旦我(最终)切换到ListView,区别就令人惊讶了。我只是想阻止其他人走这条路。试图将其“正确”地浪费了几天的时间。

07-24 09:48
查看更多