하나의 도움이 필요합니다. 프로그래밍 방식으로 Google Softkeyboard에서 번호를 숨기고 싶습니다.이 링크 http://www.androidcentral.com/how-add-dedicated-number-row-google-keyboard을 볼 수 있듯이 CapsLock에서만 문자를 보내고 싶습니다. 원하지 않아.프로그래밍 방식으로 Google softkeyboard에 표시되는 번호를 숨기는 방법
나는 시도 : 나는 사용자가 Z 만 문자 A를 입력 할 필요
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"/>
을 여전히 수는 보여주고 사용자가되어 내가 필요로하지 않는, 또한 번호를 입력 할 수
사용자가 숫자를 입력 할 수 없지만 대문자가 표시되지 않는 솔루션을 발견했습니다 (소프트 키 보드에 Caps ON).
다음은 솔루션입니다. 이제 저에게 도움이되었습니다. Everyone에 감사드립니다. 그 입력 문자열은 자바 파일에서 혼자
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