8

我在每一行都有ListView一个。EditText我已在此活动的清单中设置windowSoftInputMode为,因此当我点击布局平底锅时,它在键盘上方可见。adjustPanEditText

这在我第一次点击EditText. 但是,如果我点击后退按钮以关闭键盘,然后再次点击相同的 EditText(不点击其他任何内容,因此光标仍然在第一个EditText),键盘会恢复,但这次布局不会平移。这样做的结果是EditText键盘后面被遮挡了。

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

谢谢

4

1 回答 1

8

仍然不确定为什么会发生这种情况,但我有一个解决方案。

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放弃焦点。然后再次点击它具有所需的行为。

于 2011-02-10T15:19:48.080 回答