方法:
onTextChanged(CharSequence text,int start,int lengthBefore,int lengthAfter);//参数名也可能是其他命名。
含义:
0、这个方法表示的是在EditText的内容改变后的回调,即输入或者删除操作完成后的回调。
1、参数text:表示当前显示的EditText内容,即编辑完成后的内容。
2、参数start、lengthBefore、lengthAfter:这三个参数可以看做是一组的,它们表示的都是和输入或删除的那一段内容相关的,都是针对改变的内容的参数。
- start:表示数据改变后,添加或删除的内容,在整个数据中的位置下标。
- lengthBefore:表示改变的内容,改变前的长度(只针对删掉的或输入上的内容)。
- lengthAfter:表示改变的内容,改变后的长度(只针对删掉的或输入上的内容)。
示例一:
EditText中的原内容是“123”,现在在“2”的后面输入“4”。
那么在输入完“4”之后,回调方法时,各个参数的值是:
text="1243";//改变后的内容。
start=2;//输入的"4"在整个字符串中的下标是2。
lengthBefore=0;//输入的内容之前长度为0。
lengthAfter=1;//输入的内容输入后长度是1。
#这两个表示的是“4”在输入前和输入后的长度。如果是在“2”的后面直接粘贴上“45”两个数,那么这四个参数是:
text="12453";start=2;lengthBefore=0;lengthAfter=2;
示例二:
EditText中的原内容是“12345”,现在把光标移到“4”后面,delete删除“4”。
那么在删除掉“4”之后,回调方法时,各个参数的值是:
text="1235";//改变后的内容。
start=3;//被删除的"4"在整个字符串中的下标是3。
lengthBefore=1;//删除的内容之前长度为1。
lengthAfter=0;//删除的内容输入后长度是0。
#这两个表示的是“4”在删除前和删除后的长度。如果是多选一次删除“45”两个数,那么这四个参数是:
text="123";start=3;lengthBefore=2;lengthAfter=0;