24

次のようにしてフィールドに3文字の制限を追加することで、Androidにフィルターを追加できます。

editText.setFilters(new InputFilter[] { new InputFilter.LengthFilter(3) });

すでに設定されているフィルターを削除するのはどうですか?私の問題は、ユーザーの選択に応じて、フィールドで3文字と4文字の最大長を切り替えることです。上記のコードを実行するだけで、GCに多くの余分な作業が発生するように感じます。

もちろん、各フィルターに対応するインスタンス変数をいくつか追加し、必要に応じてそれらを追加することもできます。そうすれば、この場合に適した2つのフィルターしかありません。ただし、フィルターを完全に削除できるかどうかを知ることは興味深いことです。おそらくnullを渡すことによって?

4

1 に答える 1

71

フィルタを別のフィルタに置き換えるのではなく、単に削除したい場合は、次のように行うことができます。

editText.setFilters(new InputFilter[] {});
于 2014-01-05T18:11:02.143 に答える