我的活动中有一个edittext,用户只能输入字母。我想检查用户是否输入了其他字母而不是字母。我怎样才能做到这一点?
我已经尝试过使用onKeyListener,但我认为这样做的方法是错误的,因为你必须为其他所有不是字母的键写下“else if if”块。
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:inputType="textMultiLine"
android:digits="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz">
</EditText>
例如,当用户点击空格时,我想向他显示一个警告对话框,上面写着“你只能输入字母!”。或点击数字或点击斜线。
试试这个:
editText.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
String src = (char)event.getUnicodeChar()+"";
if(src.toString().matches("[a-zA-Z ]+")&&!src.equals(" ")||keyCode==KeyEvent.KEYCODE_DEL){
// do something here
}
else {
// alert dialog that says "you can type only letters!".
}
return false;
}
});