2010-08-22 40 views
0

我使用的是来自CommonsGuy的“Efficient Adapter”和EndlessAdapter的混合,有时候getView()中的持有者为空。使用“高效适配器”时,持有者有时为空

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 

    ViewHolder holder; 

    if (convertView == null) { 
     convertView = inflater.inflate(R.layout.queue_item, null); 

     holder = new ViewHolder(); 
     holder.text = (TextView) convertView.findViewById(R.id.queueItemText); 
     holder.image = (ImageView) convertView.findViewById(R.id.queueItemImage); 
     convertView.setTag(holder); 
    } else { 
     holder = (ViewHolder) convertView.getTag(); 
    } 

    if (holder != null) { 
     holder.text.setText(queueItems.get(position).getTitle().getName()); 
    } else { 
     Log.e(context.getString(R.string.app_name), "holder is null for some reason ..."); 
    } 

    return convertView; 
} 

我已经把代码的其余部分都为我的课here的,因为它是相当大的内联粘贴。

一旦整个数据集被加载,向上滚动&导致行消失并重新出现。

回答

0

请确保您使用的是最新的EndlessAdapter,因为它在几周前更新,我记得。

如果这没有帮助,并且如果您可以给我一个复制问题的完整项目(不仅仅是几个类),我可以尝试修复它。请通过cw-android Google Group联系我,支持EndlessAdapter以及我的其他组件。

+0

我使用0.2.1从github。 我必须创建一个复制问题的东西(除非您有一个可以使用以下密钥的Lovefilm开发帐户:-) 给我几天,我将通过Google小组与您联系。 – 2010-08-23 16:01:02

+0

@Stuart Grimshaw:因为我从来没有听说过“Lovefilm”,我猜测我没有开发者帐户...... :-)我期待着这个示例项目,所以我可以压缩这个bug。 – CommonsWare 2010-08-23 21:42:42

+0

有帐户可以使用,但它需要我输入我的信用卡详细信息,显然我不想这样做:-) 我试图重新创建问题,而不使用外部数据源。 – 2010-08-31 23:13:18

相关问题