Ответ 1
установите для listview
в XML следующее:
android:stackFromBottom="true"
android:transcriptMode="alwaysScroll"
это не повторение другого вопроса. Это скорее расширение. Надеюсь:)
У меня есть представление списка с несколькими сотнями элементов в нем. Они имеют записи с отметкой даты в другом представлении.
Когда я показываю экран, я хочу, чтобы он прокручивался донизу, поэтому отображаются самые последние элементы, но в логическом "конце вещи".
m_list.setSelection(m_list.getCount()-1);
Kewl as... but:( Теперь мой список не будет прокручиваться. Кажется, он застрял на дне. Я вижу "грузовик", он крошечный и внизу.
Хорошо.. поэтому мой квест таким образом.. Как начать, прокручивая нижнюю часть, но все же позволяю пользователю (мне) прокручивать вверх, когда они (я снова) хочу прокрутить вверх.
установите для listview
в XML следующее:
android:stackFromBottom="true"
android:transcriptMode="alwaysScroll"
Вы можете использовать следующий код для доступа в нижней части списка.
listView.postDelayed(new Runnable() {
@Override
public void run() {
listView.setSelection(listView.getCount());
}
}, 500);
Это установит задержку в 500 мс. Или вы можете использовать
listView.post(new Runnable() {
@Override
public void run() {
listView.setSelection(listView.getCount());
}
});
Это приведет к прагматическому прокрутке списка.