1. ホーム
  2. android

[解決済み] AndroidでInputFilterを使用してEditTextの文字を制限するにはどうすればよいですか?

2022-04-15 23:31:12

質問

文字列を0-9, a-z, A-Z, スペースキーだけに制限したいのですが、どうすればいいですか? inputtypeを設定すると数字に限定できますが、ドキュメントを見てもInputfilterの方法がわかりません。

解決方法は?

他のフォーラムでこれを見つけました。 見事なまでに動作します。

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 });