Кажется, обычная проблема без отличного решения, которое я нашел. Цель состоит в том, чтобы остановить ScrollView
от автоматической прокрутки до EditText
(или любого другого представления), имеющего фокус.
У вас есть несколько представлений ( Button
s, TextView
s и т. Д.) В ScrollView
, одним из которых является EditText
. При нажатии кнопки в ScrollView
, ScrollView
прокручивается вниз до EditText
(вне экрана). Это нежелательно, поскольку есть другие элементы, которые вы не хотите прокручивать за пределы экрана.
Теперь я могу предотвратить это, когда экран впервые отображается, имея другие фокусируемые элементы в ScrollView
. Однако общая проблема все еще существует. Пользователь вручную прокручивает вниз до EditText
, вводит несколько чисел, затем прокручивает вверх ( EditText
теперь вне экрана), они нажимают кнопку в ScrollView
, и знаете что? ScrollView
прокручивается до этого чертова EditText
.
Я подумываю о расширении ScrollView
и переопределении некоторых методов, таких как findFocusableViewInBounds
, но у меня такое чувство, что я попаду в еще больше неприятностей.
Пожалуйста, помогите, если сможете.
Я экспериментировал с такими вещами, как высота 0 EditText
вверху моего ScrollView
, добавляя свойства элемента Next Focusable к другим элементам в ScrollView
и т. Д. Я полагаю, что одним из «взломов» может быть заставить EditText
терять фокус, когда виртуальная или ручная клавиатура скрывается или что-то в этом роде.