使用“高效适配器”时,持有者有时为空

时间:2010-08-22 23:53:55

标签: android android-arrayadapter

我正在混合使用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添加了其余的代码,因为粘贴内联相当大。

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

1 个答案:

答案 0 :(得分:0)

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

如果这没有用,如果你能给我一个复制问题的完整项目(不只是几个类),我可以尝试解决它。请通过cw-android Google Group与我联系,{{3}}是支持EndlessAdapter和其他组件的主要主页。