大安Seuntjens:
私は文字だけを許可editTextview(小文字と大文字)を取得しようとしています。
それは、このコードで動作します:
edittv.setKeyListener(DigitsKeyListener.getInstance("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"));
問題は、私は、このような数字キーボードを得ることです:
通常のキーボードに戻って、私はこのコードを見つけました:
edittv.setKeyListener(DigitsKeyListener.getInstance("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"));
edittv.setInputType(InputType.TYPE_CLASS_TEXT);
それはとてもそれが元に戻すには、前のコードですが、キーボードのバックを取得するために動作しますが、すべての文字が再び許可されます。
だから、どのように私はプログラム的にアルファベットキーボードで文字を許可することができます。
Bhumilvys:
あなたは以下のコードを使用することができます:
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.isLetter(source.charAt(i))&&!Character.isSpaceChar(source.charAt(i))) {
return "";
}
}
return null;
}
};
edit.setFilters(new InputFilter[] { filter });