如何提高包含不可滚动的gridview的可滚动列表视图的性能?

时间:2016-11-25 16:39:28

标签: android listview gridview scrollable

我有一个列表视图,其中每个项目都显示一个月份日历。在每个项目中我都有一个gridview来显示日期。所以,通过滚动列表项我可以看到日历月份正在改变。但滚动列表视图不是平滑。通过搜索到目前为止我已经得到的解决方案,在gridview渲染中有5 * 7 = 35个项目,这使得滚动速度变慢。所以,我通过仅返回文本视图而不是我更改网格适配器的getItem() layout.I还使用AsyncTask加载数据,然后将数据馈送到网格适配器。但滚动仍然很慢.Plz帮我解决了这个问题。如果有任何交替的解决方案而不是用循环创建35(每个视图为单日期)视图,请告诉我。

这是用于理解问题的图像。我们可以在两侧滚动:

enter image description here

有很多关于此的代码。如果有人想看代码,我会提供。

1 个答案:

答案 0 :(得分:0)

在yout adapter中使用viewTypes(覆盖getItemViewType(int pos)getViewTypeCount())。一种视图类型将是标题(e.q.textView 2016年11月),第二种类型将是标题(可能是带有textViews的LinearLayout - SUN MON TUE WED THU FRI SAT),第三种类型将是包含天数的TextViews的LinearLayout。

另一种方法是回收日历内的视图(GrideView会保持视图的透明度,您只会更改其可见性和文本)