Мне известно setSelection()
, setSelectionFromTop()
и setSelectionAfterHeaderView()
, но ни один из них, кажется, не делает то, что я хочу.Настройки ListView прокручивают позицию хорошо в Android
Учитывая, что элемент в списке, я хочу прокрутить так, чтобы он был в поле зрения. Если элемент находится над видимым окном списка, я хочу прокрутить, пока элемент не станет первым видимым элементом в списке; если элемент находится под видимым окном, я хочу, чтобы он прокручивался вверх до тех пор, пока он не станет последним видимым элементом в списке. Если элемент уже виден, я не хочу, чтобы прокрутка происходила.
Как это сделать?
Почему не используются те методы, о которых вы говорили? Что происходит, когда вы устанавливаете выбор на нужном элементе? (Я знаю, что это старый вопрос. Если вы решили это к настоящему времени, отправьте свое решение, я был бы признателен) – HXCaine
@ T3Roar: Я решил его с помощью комбинации setSelection() и setSelectionFromTop(), беспокоясь о высоте списка и высоте элемента, и, конечно, позиции позиции в списке. Боюсь, это беспорядок, и я не могу разделить код, но он разрешимый. Может быть, если я получу шанс, я напишу общее решение, которое я могу поделиться, но то, что у меня сейчас, просто не полезно вне контекста, в котором я его получил. Извините! –
Ну, я рад, что использовать setSelection() было немного, чтобы достичь, а не какого-то другого сумасшедшего обходного пути. Спасибо за ответ :) – HXCaine