Googleのソフトキーボードから数字を非表示にしたいのですが、このリンクhttp://www.androidcentral.com/how-add-dedicated-number-row-google-keyboardが表示されているので、CapsLockほしくない。プログラムでGoogleのソフトキーボードに表示されている番号を非表示にするには
私が試した:
edittext.setFilters(new InputFilter[] {new InputFilter.AllCaps()}); // for making capslock on
<EditText
android:id="@+id/firstName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapCharacters"
android:maxLength="10"/>
をしかし、それでも、私は、ユーザーが必要とする、私は必要としない、番号が表示され、ユーザーはまた、番号を入力することができますがZ
にのみ文字Aを入力することができます私はユーザーが数字を入力することができないが、大文字を表示していない1つのソリューションを見つけました(ソフトキーボード上のCaps ON)。
ここで解決策があります。それは今私のために働いています。皆様のご支援に感謝します。その入力文字列がJavaファイルでのみ
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class AlphabetValidator {
private Pattern pattern;
private Matcher matcher;
public static final String ALPHABET_PATTERN = "^[a-zA-Z]+[\\p{L} .'-]*$";
public AlphabetValidator() {
pattern = pattern.compile(ALPHABET_PATTERN);
}
/**
* Validate hex with regular expression
*
* @param hex hex for validation
* @return true valid hex, false invalid hex
*/
public boolean validate(final String hex) {
matcher = pattern.matcher(hex);
return matcher.matches();
}
}
アルファベットのある検証のためのバリデータの
edittext.setFilters(new InputFilter[] {
new InputFilter() {
public CharSequence filter(CharSequence src, int start,
int end, Spanned dst, int dstart, int dend) {
if(src.equals("")){ // for backspace
return src;
}
if(src.toString().matches("[A-Z ]+")){
return src;
}
return "";
}
}
});
<EditText
android:id="@+id/firstName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textCapCharacters"
android:maxLength="10"/>
'onTextChangedListener'でテキストを変更した後、数字を空に置き換えることができます。 –
私はユーザが何かを書くかもしれないと思うが、あなたは ''^[AZ] +」 ' –
のような正規表現でそれをチェックするかもしれない。カスタムキーボードをインストールした方がもっと多いので、 @DheerubhaiBansalは、ユーザーが何を書いているかを確認して処理できると述べています。 – RadekJ