android EditText 如何限制只能输入指定的字符

如何限制只能输入指定的字符

设置 android:digits 属性即可

例如:

android:digits = "abcdef"

有两种方法可以实现:

方法一:

EditText mEditText = (EditText)findViewById(R.id.MyEditText);
String digits = "abcdef";
mEditText.setKeyListener(DigitsKeyListener.getInstance(digits));

方法二: EditText mEditText = (EditText)findViewById(R.id.MyEditText);
InputFilter[] filters = new InputFilter[1];
filters[0] = new MyInputFilter("abcdef");
mEditText.setFilters(filters);
public class MyInputFilter extends LoginFilter.UsernameFilterGeneric {
private String mAllowedDigits;
public PopInputFilter( String digits ) {
mAllowedDigits = digits;
}
@Override
public boolean isAllowed(char c) { if (mAllowedDigits.indexOf(c) != -1) { return true; } return false; } }

你可能感兴趣的:(android)