「Efficient Adapter」とCommonsGuyの EndlessAdapter を組み合わせて使用していますが、getView () のホルダーが null になることがあります。
@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;
}
インラインで貼り付けるにはかなり大きいため、両方のクラスの残りのコードをここに配置しました。
データセット全体がロードされると、上下にスクロールすると、行が消えて再表示されます。