Android アプリに多くの EditText フィールドがあり、android:digits を使用して無効な文字の入力を停止しました。
例:
android:digits="@string/validchars"
(ここで、「validchars」はすべての有効な文字の文字列リソースです - 例: A ~ Z、0 ~ 9、およびいくつかの句読点)
問題は、ユーザーがソフト キーボードの ENTER キーを押すと、以前は次のフィールドに移動していましたが、android:digits ビットを追加したため、これが機能しなくなりました。に \n を追加しようとしましたvalidchars
が、これは 1 行のテキスト ボックス (!) でキャリッジ リターンを許可するだけなので、役に立ちません。私はimeOptions(追加actionNext
など)をいじってみましたが、これも修正されていないようです。TextWatchers と InputFilters について読んだことがありますが、どちらも私がやろうとしていることに対して複雑すぎるようで、android:digits
ビットは無効な文字を止めるのにうまく機能します。
誰かアイデアはありますか?
私は Android SDK バージョン 8 を使用しており、2.2 と 2.3.5 の両方のデバイスをターゲットにしています。