Android 具有每行动态视图的ListView

Android 具有每行动态视图的ListView,android,performance,android-layout,android-listview,Android,Performance,Android Layout,Android Listview,我想在列表视图中显示数据(为了更好的性能和回收),但是列表视图的每一行都有一个垂直线性布局,但不保证每个线性布局中有多少文本视图 目前,我正在使用ViewHolder模式,并在ListView的getView()方法中将视图动态添加到LinearLayout。注意:我正在调用linearLayout.removeAllViews(),然后再向其添加视图,以消除linearLayout中的重复视图 序言 由于在ListView中添加、删除和添加动态视图,性能非常慢 你知道我怎么处理这种情况吗? 我

我想在
列表视图
中显示数据(为了更好的性能和回收),但是
列表视图
的每一行都有一个垂直
线性布局
,但不保证每个线性布局中有多少
文本视图

目前,我正在使用
ViewHolder
模式,并在
ListView
getView()
方法中将视图动态添加到
LinearLayout
。注意:我正在调用
linearLayout.removeAllViews()
,然后再向其添加视图,以消除
linearLayout
中的重复视图

序言 由于在
ListView
中添加、删除和添加动态视图,性能非常慢

你知道我怎么处理这种情况吗? 我更喜欢
滚动视图
和垂直
线性布局
而不是
列表视图

请帮忙


如果需要我进一步澄清,请告诉我。

如果您遇到性能缓慢的问题,您应该尽可能取消
getView()
方法中的大量处理<每次创建一个项目(新建或回收)时都会调用code>getView(),删除所有视图并重新绘制它们有点违背回收的目的

如果您可以解析数据并在将其发送到适配器之前对其进行简化,那么这可能会减轻
getView()
方法的负担,并有助于解决性能问题


编辑:正如M-WaJeEh上面所说,用
可见性来控制东西。可见的
可见性。根据我的经验,消失的
通常比改变膨胀的东西的数量更有效。

考虑在
getView()
中动态隐藏和显示
TextView
s,如果您必须选择b/w一些已知的值。嗯,我正在解析JSON数据,并将其形成为ArrayList和Beans。在getView()中,我只对数据进行迭代并生成视图,仅此而已。。要我在创建列表适配器之前创建视图吗?对。因此,您将有可能的最大数量或
TextViews
全部膨胀(希望这不是一个很大的数字),但将其默认可见性设置为
android:visibility=“gone”
。然后,在您的
getView()
中,将它们全部充气,并确定要显示哪些。如果
TextView
s的最大数量很大,您可能希望使用
ExpandableListView
更改ListView中视图的可见性没有帮助。当我尝试滚动时,ListView仍然滞后..:(