Наложение Индексатора раздела не обновляет, когда данные адаптера изменяются

Я реализовал Индексатор Раздела для класса Адаптера, который расширяет BaseAdapter. Теперь для первого Раздела запуска Индексатор показывает наложение правильно. Но когда содержание списка обновляется, Наложение Раздела не становится обновленным и дает ArrayOutOfBoundException. Поскольку каждый фиксирует то, что я сделал, я сделал listview.setFastScrollEnabled (ложь); обновите содержание адаптера; и затем (верный) listview.setFastScrollEnabled; Теперь то, что происходит, является наложением, обновляется, но Наложение прибывает в левую вершину listview. Как я могу зафиксировать это.

9
задан Shrikanth Kalluraya 26 May 2010 в 10:31
поделиться

1 ответ

Небольшой обходной путь, предложенный lee.wilmot, - это

private void jiggleGrid() {

          int newWidth = flag( FLAG_THUMB_PLUS ) ?
FrameLayout.LayoutParams.FILL_PARENT :
                  grid.getWidth() - 1;

          FrameLayout.LayoutParams l = new FrameLayout.LayoutParams(
                          newWidth,
                          FrameLayout.LayoutParams.FILL_PARENT
          );

          grid.setLayoutParams( l );

          toggleFlag( FLAG_THUMB_PLUS );
  }

флаг, а toggleFlag - некоторые функции.

Вызовите этот метод после установки setFastScrollEnabled (true); . У меня сработало ....

1
ответ дан 4 December 2019 в 14:26
поделиться
Другие вопросы по тегам:

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