今天在三星Galaxy S21
Android 12 版本上遇到一个兼容问题。
在代码中调用自定义EditText的setText("*")方法时,报数组越界异常:
java.lang.IndexOutOfBoundsException: charAt: -1 < 0
具体堆栈如下:
找了半天没找出来原因,网上也没找到答案,最后通过追踪源码,发现问题出在TextView检查拼写的方法里。
因为当前场景不需要检查拼写功能,所以把该功能禁用掉,问题就解决了。
解决方案
禁用检查拼写功能
editText.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
暂无评论