39

This has been asked elsewhere online to no avail. Is there any way in Android to display the numeric soft keyboard when focusing on an EditText, but still allow any text to be entered?

I'd like to let the user enter quantities (e.g. "1 kg", "2 L"), so just setting inputType="number" won't work.

4

6 に答える 6

33

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

editText.setRawInputType(Configuration.KEYBOARD_QWERTY);

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

詳細はこちら

于 2012-01-08T09:14:47.793 に答える
8

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

 android:inputType="phone"

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

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

于 2011-05-27T15:00:23.210 に答える
7

注意:setRawInputType(InputType.TYPE_CLASS_NUMBER);

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

htcでは正常に動作しますが、Galaxy Tab IIではテンキーしか使用できず、アルファに戻す方法はありません。

于 2013-01-21T12:24:14.337 に答える
4

コードをXMLで記述します。android:numeric = "integer" android:inputType = "phone" android:digits = "1234567890"

于 2011-07-13T01:47:25.483 に答える
2

あなたが扱っている根本的な質問は、ユーザーに数量の入力を許可するにはどうすればよいかということのようです。

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

また、鉄のコジョーンを使用して、カスタムのソフトキーボードを作成することもできます。

于 2012-04-28T05:52:02.170 に答える
-1

これを理解する前に、さまざまな組み合わせを試しましたが、これは正しく機能しているようです。

setRawInputType(InputType.TYPE_CLASS_NUMBER);

重要なのは、次の説明にありますsetRawInputType(int)

他の状態を変更せずに、テキストビューのコンテンツタイプ整数を直接変更します。

于 2012-11-07T20:14:15.417 に答える