EditText的setSelection属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EditText的setSelection属性相关的知识,希望对你有一定的参考价值。

1.如何使edittext点击后全选里面的内容啊?

editText.setSelection(0, length);
editText.setSelection(0);
editText.setSelectAllOnFocus(true); 


2.记一次EditText设置默认选中setSelection的一个bug

需求:在重命名的时候,要默认选中文件的后缀之前的名字;

代码如下:

int index = name.lastIndexOf(".");
if (index > 0) 
    renameEditText.setSelection(0, index);

但是发现有的文件重命名的时候app崩溃,报错如下:
java.lang.IndexOutOfBoundsException: setSpan (32 ... 32) ends beyond length 30

百思不得其解,我的index就是32啊,这个beyond 30是哪里来的? 
后来发现在布局文件中设置了 EditText的maxLength属性为30,所以有此错误!在此记录!  

 

editText.setSelection(0, length);editText.setSelection(0);editText.setSelectAllOnFocus(true);

以上是关于EditText的setSelection属性的主要内容,如果未能解决你的问题,请参考以下文章

EditText光标位置

EditText不显示光标怎么解决

Android中的EditText中,输入信息时,怎么能让光标停靠在输入的信息的右侧而不是左侧呢?

如何清除 EditText 中的选择?

Android EidtText 光标的使用和设置

EditText 无法失焦与失焦后键盘不收缩解决方案