在ListView中使用windowSoftInputMode adjustPan编辑文本

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

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

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

谢谢

  • 检测适配器中的滚动方向(向上/向下)
  • Android如何使点击时突出显示?
  • ListView中的setOnItemClickListener VS setOnItemSelectedListener。
  • SwipeRefreshLayout:滑动进度animation
  • 按字母顺序排序Android排序列表
  • Android水平滚动图片库
  • 当EditText增长时,ListView滚动到顶部
  • 为什么设置setBackgroundColor不工作在我的自定义listView
  • 仍然不知道为什么发生这种情况,但我有一个解决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放弃焦点。 然后再次敲击它有所需的行为。