4

我有一个EditText,它接受字母和不同符号的输入,但不是数字。此外,我已将EditTexton设置为setOnKeyListener通过按 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

 <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" />

我哪里错了?

4

2 回答 2

2

在这里复制我的评论:

如果您正在处理输入,您应该只从 onKey 返回 true。即,将 return true 移动到 if 块内,否则返回 false。

于 2013-03-28T00:25:26.027 回答
1
android:imeOptions="actionDone"

在您的 EditText xml 中,当用户按 Enter 键时,您会关闭键盘,并且您说它不会,除了您将输入设置为“文本”的数字

取出这条线:

android:inputType="text"
于 2013-03-27T21:59:13.163 回答