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