13

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 の両方のデバイスをターゲットにしています。

4

1 に答える 1