当EditText处于焦点时,键盘不会显示

时间:2013-07-17 14:09:12

标签: android keyboard focus android-edittext

我想做以下事情。 用户应该能够从标准键盘(硬件或软件)输入一个字母(仅限字母)。如果他正在输入另一个字母,那么前一个字母应该替换为这个字母。所以只应显示当前的字母。用户应该能够关闭此对话框并返回活动。如果他点击键盘上的“完成”按钮,活动应该知道他输入了什么字母。

所以我想到了警告对话框和编辑带有一些扩展名的文本,只显示当前的字符。这很容易。

然而,这让我很生气,虽然编辑文本是焦点,但在点击编辑文本之前,键盘不会出现在屏幕上。为什么会这样? 它应该是,如果不是吗?

我不会采取类似以下内容的答案,因为我不应该手动完成。它应该是自动的。此外,我不确定如何使用硬件键盘。

InputMethodManager imm = InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(YourEditText.getWindowToken(), 0);

我想知道为什么在编辑文字有焦点后键盘没有显示? 如果不手动启用和禁用软件键盘,我该怎么做才能获得此功能。

2 个答案:

答案 0 :(得分:0)

使用此功能。

EditText yourEditText= (EditText) findViewById(R.id.yourEditText);
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(yourEditText, InputMethodManager.SHOW_IMPLICIT);

答案 1 :(得分:0)

有关您的信息,请参阅此相关问题:Why the soft keyboard shows or not when an activity starts?。您可以通过将EditText封装到ScrollView中来将其作为替代方法进行阅读。

但它并不比众所周知的解决方法(手动启用软件键盘)更令人满意,因为我们不明白为什么它在这种情况下效果更好......

相关问题