记一次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,所以有此错误!在此记录!

发布了61 篇原创文章 · 获赞 9 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/fly_yuge/article/details/50779890