web-dev-qa-db-ja.com

キーボード番号のみのEditTextビュー

[〜#〜] only [〜#〜]を備えたキーボードがEditTextビューに表示されます。 他の文字なし

利用可能なすべての入力でテストしましたが、動作しません。私は数字だけでキーボードを取得する方法を探しましたが、以下への参照を見てきました:

Android: inputType = "numberPassword"

しかし、EditTextに表示される数値が必要です。誰か助けてくれますか?

そのようなキーボードが欲しい:(numberPassword)

enter image description here

私は試しました:

Android:digits="0123456789"
Android:inputType="phone"

そして

Android:inputType="number"

そしてそのように表示されます:

enter image description here

40
Jorge B.

何回か試した後、私はそれを得ました!キーボードの値をプログラムで設定しています

 myEditText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD); 

または、XMLビューを使用する場合は次のようになります。

Android: inputType = "numberPassword"

両方の設定でパスワードの箇条書きが表示されます。EditTextで表示番号を確認する限り、カスタムClickableSpanクラスを作成する必要があります。

 private class NumericKeyBoardTransformationMethod extends PasswordTransformationMethod {
    @Override
    public CharSequence getTransformation(CharSequence source, View view) {
        return source;
    }
}

そして最後に、入力した文字を表示するためにEditTextに実装する必要があります。

myEditText.setTransformationMethod(new NumericKeyBoardTransformationMethod());

これが私のキーボードの見た目です

81

Android:inputType="number" または Android:inputType="phone"。これを保持できます。数字を含むキーボードが表示されます。さまざまなタイプのキーボードの詳細については、この link を確認してください。

独自のソフトキーボードを作成する場合にのみ可能だと思います。または、これを試してくださいAndroid:inputType="number|textVisiblePassword。ただし、他の文字は表示されます。さらに、Android:digits="0123456789"は、edittextに数字のみを許可します。または、まだ画像と同じものが必要な場合は、2つ以上の機能を|と組み合わせてみてください。区切り記号と運を確認しますが、私の知る限りでは、あなたは自分のキーパッドを作成して正確にそのようにする必要があります.

17
Kanth
<EditText
        Android:id="@+id/editText3"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_weight="1"
        Android:ems="10"
        Android:inputType="number" />

私は今、これを試してみましたが、それは他の文字を示していますが、editTextに入力することはできません

edit.setRawInputType(Configuration.KEYBOARD_12KEY);

enter image description here

5

キーボードでのみ数字を表示するために何らかの方法で正しい方法を使用したので、編集テキストでxmlで指定された行を試してみてください

  Android:inputType="number"

疑問がある場合は、もう一度私に尋ねることができます。私はあなたの問題を完全に整理しようとします。ありがとう

3
Ravi

Xml edittextで:

Android:id="@+id/text"

プログラム内:

EditText text=(EditText) findViewById(R.id.text);
text.setRawInputType(Configuration.KEYBOARDHIDDEN_YES);
0
adrian

EditTextを指定した場合、

Android:inputType="number"

数字しか取得できません。しかし、使用する場合、

Android:inputType="phone"

数字とともに、;、/ "などの特殊文字を受け入れることができます。

0
Akanksha Hegde

以下の行を<EditText>

Android:digits="0123456789"
Android:inputType="phone"
0
Avadhani Y