4

私は、EditText文字とさまざまな記号を入力しますが、数字は入力しません。さらに、Enter キーを押して仮想キーボードを閉じるように設定EditTextしました。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 を返す必要があります。つまり、リターン 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 に答える