下記コードで英数字と記号のみのフィルターするようにしたのですが、InputFilterを使うとxmlに記述した
android:maxLengthが効かなくなってしまいました。
そこでLengthFilterを使おうと思ったのですが、下記のコードだと文字数制限は10になるものの文字フィルター
が有効ではなくなってしまいました。
文字数と文字フィルター同時に有効にすることはできないでしょうか?
java
1 // フィルターを作成 2 InputFilter inputFilter = new InputFilter() { 3 @Override 4 public CharSequence filter(CharSequence source, int start, int end, 5 Spanned dest, int dstart, int dend) { 6 if (source.toString().matches("^[0-9a-zA-Z,/ #:?()*+@¥.¥_¥¥-]+$")) { 7 return source; 8 } else { 9 return ""; 10 } 11 } 12 }; 13 // フィルターの配列を作成 14 InputFilter[] filters = new InputFilter[] { inputFilter }; 15 filters[0] = new InputFilter.LengthFilter(10); 16 // フィルターの配列をセット 17 editText.setFilters(filters);
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/26 10:39