Android の EditText で InputFilter を使用して文字数を制限するにはどうすればよいでしょうか? 質問する

Android の EditText で InputFilter を使用して文字数を制限するにはどうすればよいでしょうか? 質問する

文字を 0 ~ 9、az、AZ、スペースバーのみに制限したいです。inputtype を設定すると数字に制限できますが、ドキュメントを見ても Inputfilter の方法がわかりません。

ベストアンサー1

別のフォーラムでこれを見つけました。とてもうまく機能します。

InputFilter filter = new InputFilter() {
    public CharSequence filter(CharSequence source, int start, int end,
            Spanned dest, int dstart, int dend) {
        for (int i = start; i < end; i++) {
            if (!Character.isLetterOrDigit(source.charAt(i))) {
                return "";
            }
        }
        return null;
    }
};
edit.setFilters(new InputFilter[] { filter });

おすすめ記事