EDITTEXTしか許可の手紙(プログラム的に)

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

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=224501&siteId=1
おすすめ