代码之家  ›  专栏  ›  技术社区  ›  Stuart Grimshaw

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

  •  0
  • Stuart Grimshaw  · 技术社区  · 16 年前

    Efficient Adapter “还有 EndlessAdapter 有时getView()中的holder为空。

    @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 ,因为它是相当大的内联粘贴。

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

    1 回复  |  直到 16 年前
        1
  •  0
  •   CommonsWare    16 年前

    确保您使用的是最新版本 EndlessAdapter ,正如我记得的,它是几周前更新的。

    cw-android Google Group ,这是支持 终端机 以及我的其他部件。