I have a ListView
with an EditText
in each row. I have set windowSoftInputMode
to adjustPan
in the manifest for this activity, so when I tap on an EditText
the layout pans so that it is visible above the keyboard.
This works the first time I tap on an EditText
. But if I hit the back button to dismiss the keyboard, then tap the same EditText again (without tapping anything else, so the cursor remains in the first EditText
), the keyboard comes back up but the layout does not pan this time. The result of this is that the EditText
is obscured behind the keyboard.
Has anyone experienced this behaviour / knows how to solve it?
Thanks
Still not sure why this happens, but I have a solution.
I have subclassed EditText
and overridden the method onKeyPreIme(int keyCode, KeyEvent event)
as follows:
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event)
{
if(keyCode == KeyEvent.KEYCODE_BACK)
{
clearFocus();
}
return super.onKeyPreIme(keyCode, event);
}
Now when the back key is pressed, the EditText
gives up focus. Then tapping it again has the desired behaviour.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With