次のようにしてフィールドに3文字の制限を追加することで、Androidにフィルターを追加できます。
editText.setFilters(new InputFilter[] { new InputFilter.LengthFilter(3) });
すでに設定されているフィルターを削除するのはどうですか?私の問題は、ユーザーの選択に応じて、フィールドで3文字と4文字の最大長を切り替えることです。上記のコードを実行するだけで、GCに多くの余分な作業が発生するように感じます。
もちろん、各フィルターに対応するインスタンス変数をいくつか追加し、必要に応じてそれらを追加することもできます。そうすれば、この場合に適した2つのフィルターしかありません。ただし、フィルターを完全に削除できるかどうかを知ることは興味深いことです。おそらくnullを渡すことによって?