Seems to be a common problem without a great solution that I have found. Goal is to stop a ScrollView
from auto-scrolling to an EditText
(or any view for that matter) that has focus.
You have a bunch of views (Button
s, TextView
s, etc) in an ScrollView
, one of which is an EditText
. Upon clicking say a Button within the ScrollView
, the ScrollView
scrolls down to the EditText
(its off screen). This is not desired, as there are other elements that you don't want scrolled off the screen.
Now I can stop this from happening when the screen first shows by having other focusable elements in the ScrollView
. However, the general problem still exists. The user scrolls down manually to the EditText
, enters some numbers, then scrolls up to the top (EditText
off screen now), they click a button in the ScrollView
, and guess what? The ScrollView
scrolls down to that darn EditText
.
I'm thinking about extending the ScrollView
and overriding some of the methods there like findFocusableViewInBounds
, but I have a feeling I'll just be getting myself into more trouble.
Please help if you can.
I've played around with things like having an 0 height EditText
at the top of my ScrollView
, adding Next Focusable element properties to the other items in the ScrollView
, etc. I suppose one "hack" might be to get the EditText
to lose focus when the virtual or manual keyboard gets hidden or something.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…