Я в основном пытаюсь отобразить несколько просмотров через один и тот же адаптер ListView. Тем не менее, адаптер заканчивает создание нескольких дубликатов и сбоев иногда также с помощью NullPointer. Я предполагаю, что я внедрил адаптер, все неправильно. Вот мой полный код:Android ListView Adapter Crash issue/Duplicates
Элемент может быть либо фото или текст.
Adapter:
public class FeedAdapter extends BaseAdapter {
static private Activity activity;
private static LayoutInflater inflater = null;
ArrayList<ActivityTable> actList = new ArrayList<ActivityTable>();
Holder holder;
public FeedAdapter(Activity a, ArrayList<ActivityTable> actList) {
activity = a;
this.actList = actList;
}
public View getView(int position, View convertView, ViewGroup parent) {
Holder holder;
final ActivityTable act = actList.get(position);
inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
if (act.getType().equals("text")) {
convertView = inflater.inflate(R.layout.feed_single_text, null);
holder = new Holder();
//More code that Set the caption to the holder
convertView.setTag(holder);
}
if (act.getType().equals("photo")) {
convertView = inflater.inflate(R.layout.feed_single_picture, parent, false);
holder = new Holder();
holder.media = (ImageView) convertView.findViewById(R.id.postphoto);
//More code that Set the photo to the holder
convertView.setTag(holder);
}
} else {
holder = (Holder) convertView.getTag();
}
return convertView;
}
public static class Holder {
ImageView media;
TextView caption;
}
}
Могу ли я надувания несколько представлений в одном адаптере не так? Может ли кто-нибудь указать на ошибку?
Вы можете разместить код, заданный для каждой строки? я имею в виду код выше «return convertView» и ниже 'else {...} ' –
Почему вы все еще используете' ListView', когда есть лучшая альтернатива? Поддерживаете ли вы устаревший код? –
@AvinashR Какая лучшая альтернатива? – Dinuka