EditText 随记

设置输入的仅为0-9数字

//xml中
android:inputType="number"
//代码控制
eidtText.setInputType(InputType.TYPE_CLASS_NUMBER);

设置输入的为小数

//xml中
android:inputType="numberDecimal"
//代码控制
edittext.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);

限制输入为字母和数字

//xml中 
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"

addTextChangedListener TextWatcher 接口方法解释

class MyTextWatcher implements TextWatcher{
    /**
     * 说明在s字符串中,从start位置开始的count个字符即将被长度为after的新文本所取代。在这个方法里面改变s,会报错。
     */
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        Log.i(LOG_TAG, "beforeTextChanged s:" + s + " start:" + start + " count:" + count + " after:" + after);
    }

    /**
     * 这个方法被调用,说明在s字符串中,从start位置开始的count个字符刚刚取代了长度为before的旧文本。在这个方法里面改变s,会报错。
     */
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        Log.i(LOG_TAG, "onTextChanged s:" + s + " start:" + start + " count:" + count + " before:" + before);
    }

    /**
     * 这个方法被调用,那么说明s字符串的某个地方已经被改变。
     */
    @Override
    public void afterTextChanged(Editable s) {
        Log.i(LOG_TAG,"afterTextChanged s:"+s);
    }
}

你可能感兴趣的:(EditText 随记)