@DarkByte2015

Почему не выводится список?

Пытаюсь сделать список. Код такой:

activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/datesList">

</ListView>

date_item.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/date" />


адаптер
public class DatesAdapter extends ArrayAdapter<DateTime> {
    private LayoutInflater inflater;
    private int layout;
    private ArrayList<DateTime> datesList;

    private TextView date;

    public DatesAdapter(@NonNull Context context, @LayoutRes int resource, ArrayList<DateTime> datesList) {
        super(context, resource);

        this.inflater = LayoutInflater.from(context);
        this.layout = resource;
        this.datesList = datesList;
    }

    @Override
    public @NonNull View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
        if (convertView == null){
            convertView = inflater.inflate(this.layout, parent, false);
            date = (TextView)convertView.findViewById(R.id.date);
        }

        date.setText(datesList.get(position).toString());

        return convertView;
    }
}

в MainActivity.onCreate
final ArrayList<DateTime> dates = new ArrayList<>();

dates.add(new DateTime(2017, 1, 1, 0, 0));
dates.add(new DateTime(2016, 1, 1, 0, 0));
dates.add(new DateTime(2015, 1, 1, 0, 0));
dates.add(new DateTime(2014, 1, 1, 0, 0));

DatesAdapter adapter = new DatesAdapter(this, R.layout.date_item, dates);

datesList.setAdapter(adapter);

Список ни в какую не хочет выводится на экран... Дебажил - в метод getView даже не заходит ни разу. Почему так происходит??
  • Вопрос задан
  • 179 просмотров
Решения вопроса 1
@DarkByte2015 Автор вопроса
Оказывается надо было еще переопределить метод getCount. Я не знал.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Может datesList.notifyDataSetChanged();
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы