Я хотел бы убедиться, что список прокручивается до самого низа после того, как я обновил представление списка с помощью listAdapter, чтобы он отображал последний элемент, введенный в список. Как я могу это сделать ?
Я попробовал это, но не повезло:
lv.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);
Спасибо
Ответы:
Предположим, вы знаете, когда изменились данные списка, вы можете вручную указать, что список прокручивается вниз, установив выбор списка в последнюю строку. Что-то вроде:
источник
Вам нужно использовать эти параметры в вашем списке:
манускрипт
lv.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL);
Установите заголовок списка внизу
lv.setStackFromBottom(true);
Вы также можете установить эти параметры в XML, например. как это:
источник
Комбинация TRANSCRIPT_MODE_ALWAYS_SCROLL и setSelection заставила меня работать
источник
Я успешно использовал это в ответ на нажатие кнопки, поэтому я думаю, что вы можете использовать его и после обновления содержимого:
источник
Чтобы получить это в ListFragment:
Добавил этот ответ, потому что если кто-то делает поиск в Google для той же проблемы с ListFragment, он просто находит это ..
С уважением
источник
Использование: установить заголовок списка внизу
lv.setStackFromBottom(true);
Сработало для меня, и список автоматически прокручивается до самого дна, когда он впервые отображается. Затем список прокручивается как следует
TRANSCRIPT_MODE_ALWAYS_SCROLL
.источник
я использую
добавить записи внизу, а старые записи прокрутить сверху, как стенограмма чата
источник
getListView().smoothScrollToPosition(getListAdapter.getCount() - 1);
в onstart, чтобы перейти к нижней части в начале упражнения.Самое простое решение:
источник
Режим расшифровки - это то, что вы хотите, и он используется Google Talk и приложением SMS / MMS. Правильно ли вы вызываете notifyDatasetChanged () на вашем адаптере при добавлении элементов?
источник