1
Ich möchte ViewHolder-Muster in ListView verwenden (ich weiß über RecyclerView, aber ich möchte es in ListView !!!).Android: convertView in ListView ist immer Null
Ich habe es erstellt, aber ich habe festgestellt, dass convertView in getView() immer Null ist. Jeder Aufruf getView(). Was mache ich falsch?
public class ScheduleListAdapter extends BaseAdapter {
private LayoutInflater lInflater;
private List<ScheduleSubject> scheduleListItems;
public ScheduleListAdapter(Context context, List<ScheduleSubject> scheduleListItems) {
this.scheduleListItems = scheduleListItems;
lInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return scheduleListItems.size();
}
@Override
public Object getItem(int position) {
return scheduleListItems.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
private static class ViewHolder {
TextView name, place;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if (convertView == null) {
convertView = lInflater.inflate(R.layout.schedule_item_show, parent, false);
viewHolder = new ViewHolder();
viewHolder.name = (TextView) convertView.findViewById(R.id.schedule_item_name_textView);
viewHolder.place = (TextView) convertView.findViewById(R.id.schedule_item_place_textView);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
ScheduleSubject scheduleListItem = getScheduleListItem(position);
viewHolder.number.setText(String.valueOf(scheduleListItem.getLessonNumber()));
viewHolder.name.setText(scheduleListItem.getName());
viewHolder.place.setText(scheduleListItem.getPlace());
return convertView;
}
public ScheduleSubject getScheduleListItem(int position) {
return ((ScheduleSubject) getItem(position));
}
}
Bitte logcat zu Ihrer Frage hinzufügen. – JoelFernandes