Хотя это очень поздний ответ на этот вопрос, и этот ответ уже получил приемлемый ответ, я подумал, что указание того, как я решил мою проблему здесь, может помочь другим найти все, что связано с этой проблемой, в одном SO-потоке.
Итак, вот моя ситуация: у меня был ScrollView
с ListView
в конце макета. Я знаю, что это очень плохая практика. Я мог добиться того же поведения, которое хотел, прикрепив заголовок к ListView
. Но в любом случае, мой ListView
получил фокус, когда он был заполнен данными, и страница автоматически прокручивалась до самого дна, где начинался ListView
.
Я пытался с принятым ответом здесь, но он не работал для меня. Я попытался использовать манекен EditText
в верхней части макета, чтобы он мог автоматически запрашивать фокус, но он также не работал. Потому что ListView
получил фокус после загрузки данных из вызова API REST.
Тогда я нашел этот ответ , и это действительно помогло. Поэтому я подумал об этом, чтобы другие могли получить помощь от одного потока, имеющего ту же проблему, что и я.
mainScrollView.fullScroll(ScrollView.FOCUS_UP);
у меня тоже не сработало, так как список был заполнен после заполнения других представлений. Поэтому мне пришлось прокрутить ScrollView
наверх после заполнения ListView
. Вот как я решил свою проблему.
mScrollView.setEnabled(false);
mIntroducerListView.setFocusable(false);
mListAdapter.notifyDataSetChanged();
// Force scroll to the top of the scroll view.
// Because, when the list view gets loaded it focuses the list view
// automatically at the bottom of this page.
mScrollView.smoothScrollTo(0, 0);