在我的Android项目中,我限制Edittext
仅允许Alphanumeric
个字符。我使用下面的代码片段来实现这个
<EditText
android:id="@+id/edt_text"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
android:ems="10"
android:imeOptions="actionNext"
android:maxLength="8"
android:padding="5dp"
android:singleLine="true" />
但是在使用此代码时,如果我选中Space Bar
中显示的soft keypad
,它将作为BackSpace
按钮并删除EditText
中的字符。任何人都可以帮我解决这个问题。
答案 0 :(得分:1)
使用此RegEx,如果它是字母数字,它将返回true,否则它将返回false。
public boolean isAlphaNumeric(String s){
String pattern= "^[a-zA-Z0-9]*$";
if(s.matches(pattern)){
return true;
}
return false;
}
答案 1 :(得分:1)
你也可以用Programet来处理这个。
mEditText1.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.equals(" ")) {
mEditText1.getText().toString().trim();
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
我希望它可以帮到你。 :)
答案 2 :(得分:1)
答案 3 :(得分:0)
如何让空格键创建空格,并以编程方式删除它?