我知道如何填充ListView或任何其他列表类型,但现在我面临一个问题,我应该在ScrollView中实现ListView。所以,我决定使用LinearLayout(myLinearLayout.addView( adapter.getView(position, null, null)
)。如您所见,我正在从适配器检索数据并将其添加为我的LinearLayout的新视图。一切正常,但如果列表中填充了30多行,应用程序就会冻结。每行包含一个ImageView,这样虚拟机就无法分配足够的内存。
我应该如何回收linearlayout行?
答案 0 :(得分:0)
将listview放在scrollview中似乎不是一个好主意。您的用户将如何使用它?哪个手势会滚动滚动视图,哪个会滚动列表视图?它不可用。
Android组件设计得很好,您应该考虑坚持列表视图,每个人都知道如何使用并且非常优化。
如果您在列表中显示许多图片时遇到问题,请参阅this docs from google。
答案 1 :(得分:0)
将行填充到线性布局后,视图不会被适配器回收。正如你所写,它也不可能在另一个内部滚动组件。为什么需要在滚动内显示列表?您是否考虑过填写清单"排在首位"滚动视图?例如,在一个不同的片段?