我想在ListView
中显示数据(为了获得更好的效果和回收)但ListView
的每一行都有一个垂直LinearLayout
,但不保证有多少TextViews
ViewHolder
1}}将出现在每个LinearLayout中。
目前我正在使用LinearLayout
模式,我正在getView()
ListView
方法中linearLayout.removeAllViews()
动态添加视图。注意:我在向其添加视图之前调用LinearLayout
,以便消除ListView
中的重复视图。
Prolem
由于在ScrollView
中添加删除和添加动态视图,性能非常慢。
还有其他想法如何处理这种情况?
我更喜欢LinearLayout
和垂直ListView
而不是{{1}}吗?
请帮助。
如果我方需要进一步澄清,请告诉我。
答案 0 :(得分:2)
如果您遇到性能下降的问题,您可能需要尽可能多地去除getView()
方法中的处理。每次创建项目(新的或回收的)时都会调用getView()
并删除所有视图并重新绘制它们会破坏回收的目的。
如果您可以在将数据发送到适配器之前解析数据并对其进行简化,那么getView()
方法可能会减少一些负担并帮助您解决性能问题。
Visibility.VISIBLE
和Visibility.GONE
来控制内容通常比我改变膨胀的事物的数量更有效。