3

プログラムで作成された(xmlではない)エディットテキストがあり、ユーザーがそれを押したときに数字キーボードを起動したいと思います。問題は、このキーボードにも小数点記号(。)を含めたいということです。

多くのことを試しましたが、何もうまくいかないようです

最終的なEditText入力=newEditText(this);

input.setKeyListener(new DigitsKeyListener()); //これにより、小数点なしの数値が得られますinput.setInputType(InputType.TYPE_CLASS_NUMBER); //これにより、小数点なしの数値が表示されますinput.setInputType(InputType.TYPE_CLASS_PHONE); //これにより、2ページ目にすべての数字と小数点付きの電話キーボードが表示されます。それは私が望むものではありません

カスタムキーボードを実装する方法があることを私は知っています:

http://android-developers.blogspot.com/2009/04/creating-input-method.html

http://developer.android.com/resources/samples/SoftKeyboard/index.html

しかし、それはかなりの苦痛のようであり、私は最初にもっと速い代替案を探しています。

必要なのは次のいずれかです。1。小数点記号を含む数字キーボードを起動します。2。標準キーボードを起動しますが、数字の「ページ」に設定します。上記のいずれかが可能ですか。前もって感謝します!

4

4 に答える 4

8

私はこのコードを使用してキーボードを示しました:

        // Set an EditText view to get user input
    final EditText input = new EditText(this);
    alert.setView(input);
    input.setInputType((InputType.TYPE_CLASS_NUMBER + InputType.TYPE_NUMBER_FLAG_DECIMAL));
于 2013-10-30T13:10:03.967 に答える
3

あなたが説明しているもののためのキーボードはありません、少なくともあなたが通常の入力タイプとして得ることができるものはありません。カスタムキーボードを作成したとしても、ユーザーがアプリを使用するたびにキーボードを切り替える必要があるため、これを処理するのは適切な方法ではありません。

また、すべてのAndroidキーボードに個別の番号ページがあるわけではないため、「番号ページで」テキストキーボードを明示的に開くことはできません。これは、各デバイスで高度にカスタマイズされています。

私の最初の提案は、通常のテキストキーボードを使用し、ユーザーがどのキーボードが最適かを判断できるようにすることです。

私の2番目の提案は、必要な特定のキーのボタン/ビューを使用して、画面上にテンキーを作成することです。

于 2012-05-23T19:53:32.303 に答える
0

ここに行きます。

if (editText.getText().matches("^[0-9]+(\.[0-9]{1,2})?$")) {
            System.out.println("It is decimal number");
        }
于 2012-05-23T19:56:35.550 に答える
0
new DigitsKeyListener(false, true) 

10進数の入力キーボードを提供します

于 2016-03-18T12:04:01.197 に答える