1

アプリのエラーを報告しているユーザーがいます。レイアウトにいくつかの EditText フィールドがあります。ユーザーが符号付き 10 進数のみを入力できるようにしたい。number|numberSigned|numberDecimalただし、入力を処理し、それが正しいことを確認するカスタム TextWatcher がこれらのフィールドにアタッチされているため、レイアウトでそれらを宣言する必要はありません。マイナスキーをトグルとして機能させたいので、これを行います。

たとえば、フィールドに「300」が含まれているとします。ユーザーがマイナスをタップすると、カスタム TextWatcher がそれを傍受し、「300-」ではなく「-300」に変換します。マイナスをもう一度タップすると、既存のマイナスが削除され、「300」に変更されます。

これはほぼすべての人にとって問題なく機能しますが、Kindle Fire では機能しません。仮想キーボードの小数点とマイナス キーは無効になっているため、これらのキーをタップしてカスタム テキスト ウォッチャーを機能させるオプションさえありません。

フィールドを と宣言するとnumber|numberSigned|numberDecimal、カーソルが一番左の位置 (つまり、300 の 3 より前) にない限り、ユーザーはフィールドでマイナス キーをタップできなくなります。

小数点とマイナスキーをアクティブにする必要があることを確認すると同時に、カスタム TextWatcher に到達する前にユーザーの許可された入力を制限しないように Kindle Fire に指示するにはどうすればよいですか...他のすべての Android と同じようにデバイスは私のために働いていますか? :)

4

1 に答える 1

0

@zapl からの回答:

theEditText.setRawInputType(Configuration.KEYBOARD_12KEY)

働いた!彼の他の良い答えを見つけて、彼に賛成票を投じて、彼がこの答えに対して適切なクレジットを得ることができるようにします。;)

于 2012-05-03T20:33:44.613 に答える