EditText的方法onTextChanged的参数含义

EditText的方法onTextChanged的参数含义方法:onTextChanged(CharSequencetext,intstart,intlengthBefore,intlengthAfter);//参数名也可能是其他命名。含义:0、这个方法表示的是在EditText的内容改变后的回调,即输入或者删除操作完成后的回调。1、参数text:表示当前显示的EditText内容,即编辑完成后的内容。2、参数start、le…

大家好,欢迎来到IT知识分享网。EditText的方法onTextChanged的参数含义

方法:

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;

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/21510.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信