У меня есть ScrollView, который содержит ряд других представлений (TextViews, ImageViews и т. Д.).ScrollView выше экрана.У меня есть AsyncTask, который обновляет дочерние элементы ScrollView на основе ответа http.
Я обнаружил интересное поведение, которое я не могу понять, как обойти.Если я устанавливаю какой-либо видимость детей для View.INVISIBLE как часть AsyncTask.onPostExecute (), все работает нормально.
Однако, если я устанавливаю видимость детей для View.GONE, ScrollView переходитвниз сверху вниз при вызове onPostExecute ().Точно, как далеко, кажется, меняется.Я предполагаю, что перекомпоновка ScrollView заставляет его по какой-то причине прокручиваться от вершины.
Итак, вопрос: есть ли способ предотвратить или обойти это поведение?
PS.Использование ScrollView.jump (FOCUS_UP) в качестве обходного пути не является идеальным, поскольку это вынудит пользователя подняться наверх, даже если он намеревался прокрутить вниз.
РЕДАКТИРОВАТЬ : На самом деле, ябыл неправ.Проблема была не в том, что дочернее представление помечено как исчезнувшее, проблема была в том, что родственное представление помечено как исчезшее, а ScrollView изменилось.Мой ScrollView находится внутри LinearLayout, который также содержит кнопку.Когда кнопка установлена в GONE, ScrollView изменяется, чтобы занять доступное пространство, заставляя его прокручиваться от вершины.Другая причина, все еще ищем обходной путь, хотя, если возможно.