Изменить текст (название) в соответствии с элементом в CursorAdapter ListView

У меня есть ListView в Activity и TextView выше. Как я могу изменить текст TextView в соответствии с элементами, отображаемыми в ListView?

Адаптер ListView — это CursorAdapter.

Пример: в полях таблицы я могу получить доступ к месяцу. Например, если месяц записей, отображаемых в верхней части ListView, — январь, TextView должен отображать «Январь», но сдвигая ListView, верхний элемент — февраль, TextView изменяется на «Февраль».

Спасибо!


person tdmsoares    schedule 21.12.2015    source источник


Ответы (1)


Используйте OnScrollListener, чтобы сообщить вам, когда верхний элемент мог измениться.

private final OnScrollListener mOnScrollListener = new OnScrollListener() {

    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {
    }

    @Override
    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {

       ListAdapter adapter = mListView.getAdapter();
       if (adapter == null || visibleItemCount == 0)
           return;

       Object item = adapter.getItem(firstVisibleItem);
       // you would cast item to the type of your list item model
       // determine which month the list item applies to
       // set the month in the title text view

    }

};
person kris larson    schedule 21.12.2015
comment
Я не знал о OnScrollListener! Большое спасибо! - person tdmsoares; 26.12.2015