首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在安卓上的listAdapter上膨胀2种不同的布局

在安卓上的listAdapter上膨胀2种不同的布局
EN

Stack Overflow用户
提问于 2010-09-22 03:03:00
回答 2查看 2.6K关注 0票数 0

我有一个列表视图,我用一个布局来膨胀第一个位置,每隔一个位置,我就用另一个布局进行另一个膨胀。我可以通过每次在getView中检查来做到这一点,但正如您可以想象的那样,这并不是很有效。

你能和我分享一下你的想法,通过这个模式得到这个结果吗?(这没有得到正确的结果(因为在4-5个位置之后,根据第一次膨胀的位置数量,我也会在其他位置获得layout.inside_list_2。)

代码语言:javascript
复制
if (convertView == null) {
  if (position == 0)
   convertView = mInflater.inflate(R.layout.inside_list_2,
                            parent, false);
    else
    convertView = mInflater.inflate(R.layout.inside_list, null);
  }
else{
        holder=(ViewHolder)convertView.getTag();
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-22 04:05:23

您的问题与ListView中的视图在您滚动时被重用的事实有关。这样做是出于性能原因。

因此,在getView中,您不能依赖convertView处于任何给定的初始状态。您每次都需要检查视图以确保它是正确的视图。

但是,在您的情况下,您可能需要考虑使用a header view

票数 3
EN

Stack Overflow用户

发布于 2010-09-22 04:10:14

下面是类似问题答案--它包含指向可提高列表性能的ViewHolder模式的指针-- Android: ViewHolder pattern and different types of rows?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3763547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档