web-dev-qa-db-ja.com

EditTextで数値入力を強制せずに数値キーボードをデフォルトに設定するにはどうすればよいですか?

これはオンラインでは他の場所では求められていません。 AndroidにEditTextにフォーカスしているときに数値ソフトキーボードを表示するが、テキストの入力を許可する方法はありますか?

ユーザーに数量(例:「1 kg」、「2 L」)を入力させたいので、単にinputType="number"は機能しません。

39
Lyudmil

次のコード行を追加すると、トリックが実行されます:)

editText.setRawInputType(Configuration.KEYBOARD_QWERTY);

これにより、最初にテンキーが表示されますが、フリーテキストを入力することもできます。

詳細情報 こちら

34
rDroid

これはデバイスに依存する可能性がありますが、試してみました:

 Android:inputType="phone"

すべての入力タイプのリンク

editTextのxmlで、これはテンキーのキーボードを提供しますが、必要に応じて文字のキーボードに切り替えることができます。 (少なくともNexus Oneで)。

8
Blundell

以下に注意してください。setRawInputType(InputType.TYPE_CLASS_NUMBER);

一部のデバイスには望ましい効果がありますが、他のデバイスにはありません...

Htcでは正常に動作しますが、galaxy tab IIでは数値キーボードのみが表示され、アルファに戻る方法はありません。

7
Mark

xMLでコードを記述:Android:numeric = "integer" Android:inputType = "phone" Android:digits = "1234567890"

4
Mostafiz

あなたが扱っている根本的な質問は次のように見えます:どうすればユーザーに数量を入力させることができますか?

適切な答えの1つは、数値入力を使用して、ユニットのカテゴリ選択の形式と組み合わせることです。例えばラジオ、ドロップダウン、またはスピナー。これはおそらく使いやすく、また毎回入力を検証しなければならないという頭痛の種を節約します。

また、鉄のコホンを持ち、カスタムソフトキーボードを記述することもできます。

2
Cheezmeister