慢慢的记录下自己在项目中遇到的一些坑。
1.setTextIsSelectable的坑
setTextIsSelectable 在三星note3手机上引发的 java.lang.StackOverflowError 错误!
功能描述:textView.setTextIsSelectable(boolean selectable)实现可选复制的功能。
问题描述:也是无意发现的这个问题。在A页面点击按钮跳转到B页面,其他手机上都是ok的,但是在三星Note 3上面会报错。
特别郁闷,一般来说栈溢出是因为出现死循环导致的。而且是只在三星note3上面出现的,测试其他手机(vivo x7,小米4、5,华为、 三星s4)都是ok,巨恶心。没办法,一点点的注代码来找。最后定位到了
textView.setTextIsSelectable(false)
这行代码,注释掉三星note3 手机运行就是ok的。打开的话,跳转到其他页面就会出现栈溢出的问题。偶然发现在xml 布局中设置的
android:textIsSelectable="true"
然后试验了几种情况。得到以下结果:
这次遇到的问题比较恶心,记录下。不要在布局文件中设置 android:textIsSelectable=”true” ,然后再在java代码中重置 textView.setTextIsSelectable(false)!