EditTextは、テキストの変更、addTextChangedListener、TextWatcherを監視します



Edittext Monitors Text Changes



EditTextコントロールの場合、次のように、テキストの変更を監視し、addTextChangedListenerメソッドを使用し、TextWatcherを使用します。 画像
コールバックメソッドでsetText()が呼び出されると、無限ループに入り、判定条件を追加する必要があります。 afterTextChangedでEditableの値を変更すると、TextWatcherの3つのコールバックメソッドがトリガーされ、無限ループに入り、判定条件を追加する必要があります。

この方法を使用する場合、フィルターが設定されていない場合、値が取得されたときに型変換エラーが報告されます。次のように:

テキストを削除すると、 ''の変換例外が報告される可能性もあります(エラーは数回前に報告されていますが、フォローアップでは再表示されず、一部のヘッドは大きくなっています)



変更された値を外部で取得する場合は、removeTextChangedListenerを使用して取得できますが、取得できるのは初めて入力された値のみであるため、お勧めしません。

TextWtacherを使用する場合は、InputFilterを呼び出してフィルタリングする必要があります
(( InputFilter これは、システムによって提供されるインターフェースです。フィルターです。着信文字列を変更し、戻り値のタイプはCharSequenceです。)



接続を支援する