您可以使用输入过滤器 http://developer.android.com/reference/android/text/InputFilter.html将 EditText 中的字符限制为:
EditText mEdit = (EditText)findViewById(R.id.mEdit);
InputFilter[] filters = {new AdnNameLengthFilter()};
mEdit.setFilters(filters);
public static class AdnNameLengthFilter implements InputFilter
{
private int nMax;
public CharSequence filter (CharSequence source, int start, int end, Spanned dest, int dstart, int dend)
{
Log.w("Android_12", "source("+start+","+end+")="+source+",dest("+dstart+","+dend+")="+dest);
if(dest.toString()=="."||( source.toString()==".")
{
//DO SOMTHING HERE
}else
{
//DO SOMTHING HERE
}
}
}
第二个选项是文本观察器 http://developer.android.com/reference/android/text/TextWatcher.html用于查找用户输入的字符:
mEditText = (EditText)findViewById(R.id.ET);
mEditText.addTextChangedListener(mTextWatcher);
TextWatcher mTextWatcher = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int arg1, int arg2,
int arg3) {
// YOU STRING BEFORE CHANGE
}
@Override
public void onTextChanged(CharSequence s, int arg1, int arg2,
int arg3) {
// CHARS INPUT BY USER
}
@Override
public void afterTextChanged(Editable s) {
// AFTER TEXT CCHANGE In EDITTEXT BY USER
}
};