在ListView中使用windowSoftInputMode adjustPan编辑文本

我有一个EditText在每一行ListView 。 我已经设置windowSoftInputMode adjustPan在此活动的清单中,所以当我点击一个EditText的布局平底锅,以便它可以在键盘上方可见。

这是我第一次点击一个EditText 。 但是,如果我点击后退button来closures键盘,然后再次点击相同的EditText(不点击其他任何东西,所以光标保留在第一个EditText ),键盘恢复,但布局不会平移这一次。 这样做的结果是EditText被隐藏在键盘后面。

有没有人经历过这种行为/知道如何解决它?

谢谢

Solutions Collecting From Web of "在ListView中使用windowSoftInputMode adjustPan编辑文本"

仍然不知道为什么发生这种情况,但我有一个解决scheme。

我已经子类EditText并重写方法onKeyPreIme(int keyCode, KeyEvent event) ,如下所示:

 @Override public boolean onKeyPreIme(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK) { clearFocus(); } return super.onKeyPreIme(keyCode, event); } 

现在,当后退键被按下时, EditText放弃焦点。 然后再次敲击它有所需的行为。