アプリのエラーを報告しているユーザーがいます。レイアウトにいくつかの EditText フィールドがあります。ユーザーが符号付き 10 進数のみを入力できるようにしたい。number|numberSigned|numberDecimal
ただし、入力を処理し、それが正しいことを確認するカスタム TextWatcher がこれらのフィールドにアタッチされているため、レイアウトでそれらを宣言する必要はありません。マイナスキーをトグルとして機能させたいので、これを行います。
たとえば、フィールドに「300」が含まれているとします。ユーザーがマイナスをタップすると、カスタム TextWatcher がそれを傍受し、「300-」ではなく「-300」に変換します。マイナスをもう一度タップすると、既存のマイナスが削除され、「300」に変更されます。
これはほぼすべての人にとって問題なく機能しますが、Kindle Fire では機能しません。仮想キーボードの小数点とマイナス キーは無効になっているため、これらのキーをタップしてカスタム テキスト ウォッチャーを機能させるオプションさえありません。
フィールドを と宣言するとnumber|numberSigned|numberDecimal
、カーソルが一番左の位置 (つまり、300 の 3 より前) にない限り、ユーザーはフィールドでマイナス キーをタップできなくなります。
小数点とマイナスキーをアクティブにする必要があることを確認すると同時に、カスタム TextWatcher に到達する前にユーザーの許可された入力を制限しないように Kindle Fire に指示するにはどうすればよいですか...他のすべての Android と同じようにデバイスは私のために働いていますか? :)