Android 由于setOnKeyListener,EditText不接受数字输入
我有一个Android 由于setOnKeyListener,EditText不接受数字输入,android,android-edittext,Android,Android Edittext,我有一个编辑文本,它接受字母和不同符号的输入,但不接受数字。此外,我还设置了setOnKeyListener上的EditText,通过按Enter键关闭虚拟键盘。观察并发现由于以下代码,无法获取数字输入 按enter键后将虚拟键盘设置为隐藏的代码 durOnTreadmill.setOnKeyListener(new OnKeyListener() { public boolean onKey(View v, int keyCode, KeyEvent event) {
编辑文本
,它接受字母和不同符号的输入,但不接受数字。此外,我还设置了setOnKeyListener
上的EditText
,通过按Enter键关闭虚拟键盘。观察并发现由于以下代码,无法获取数字输入
按enter键后将虚拟键盘设置为隐藏的代码
durOnTreadmill.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_ENTER)
{
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(durOnTreadmill.getWindowToken(), 0);
}
return true;
}
});
我的编辑文本为XML
<EditText
android:id="@+id/durOnTreadmill"
android:layout_width="129dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginRight="32dp"
android:inputType="text"
android:hint="hh:mm:ss" />
我哪里做错了
android:imeOptions="actionDone"
在您的编辑器中,当用户按enter键时,文本xml将丢失键盘
你说除了数字之外,它不会被输入设置为“文本”
把这句话去掉:
android:inputType="text"
在这里复制我的评论: 只有在处理输入时,才应该从onKey返回true。 也就是说,在if块内移动return true并返回false 否则
如果正在处理输入,则只能从
onKey
返回true
。也就是说,将返回true
移动到if
块中,然后返回false
否则。像手榴弹一样工作;)谢谢,很抱歉回复太晚了,我已经试过输入法了。键盘按预期隐藏,但EditText仍不允许数字输入:)。Tushar的评论对我很有用。谢谢你的建议。:)没问题,很高兴你让它工作了,我甚至从来没有使用过onKeyListener for edittext我还在学习我自己学习没有年龄,很高兴我的帖子对你有所帮助:)我似乎觉得如果我写edittext.setOnKeyListener{true}
,那么edittext
将不会收到硬件键盘事件,这是真的。但在这种情况下,为什么虚拟键盘上的数字也被忽略了呢?