Android 关于 ListView 的问题

狄仁傑 发布于 2013/05/09 21:24
阅读 114
收藏 0
@大师  现在在做一个类似于对话的布局,前人用的是Listview的控件,每一个item可以认为是不同的比较复杂的layout,理论上来讲listview的缓存似乎只能缓存结构相同item的情况,那么这个时候想用缓存还有什么办法,求大师开导
加载中
0
kongnanlive
kongnanlive
做一模一样的item,有些 元素该隐藏就隐藏,该显示的元素就显示,哪来的复杂?
0
狄仁傑
狄仁傑

引用来自“kongnanlive”的答案

做一模一样的item,有些 元素该隐藏就隐藏,该显示的元素就显示,哪来的复杂?

如果是一开始就这样打算其实问题就比较简单

关键问题就是首先是前人写的各种类型的layout ,现在来看就有近10中不同的layout 譬如 天气布局 地图布局 list布局 expandlelist布局 还有各种杂七杂八的,现在进行组合基本上不可能,所以希望有个临时的缓存解决方案

0
0x0001
0x0001

自己做不就好了吗,在adapter里面,一个hashmap缓存那些view,getView的时候判断要哪个从那里取出来就好了

0
狄仁傑
狄仁傑

引用来自“0x0001”的答案

自己做不就好了吗,在adapter里面,一个hashmap缓存那些view,getView的时候判断要哪个从那里取出来就好了

没见人这样搞过,可行?
0x0001
0x0001
必须可行,缓存的目的就是减少view创建的消耗,getView返回给你的view就是这个目的,你自己做了这个View的缓存,目的也一样达到了,就相当于你把getView返回给你的那个view放到了adapter,你觉得效果相同吗?,不过多个layout的话,肯定比一个慢一点点,因为需要从多个xml中实例化view
0
只求一醉
int 用下面的两个函数

getItemViewType(int position)

Get the type of View that will be created by getView(int, View, ViewGroup)for the specified item.
int getViewTypeCount()

Returns the number of types of Views that will be created bygetView(int, View, ViewGroup).



返回顶部
顶部