在Android Marshmallow (6.0)中有一个异常,异常信息中居然没有和APP包相关的东西,感觉这是Android SDK的一个坑
java.lang.AbstractMethodError: abstract method “int android.text.ParcelableSpan.getSpanTypeIdInternal()”
Google一下,还真有人也遇到了同样的问题,看了半天也没有解决方案,只是解释了,为什么会有这个问题,大概就是在 Android 6.0 之后 ParcelableSpan
接口的 getSpanTypeIdInternal
和 writeToParcelInternal
方法是 @hide
标记了,多次提醒我们要看Google的文档,但是怎么解决呢?找另外的方法吧,此处不通。。。
既然不能实现ParcelableSpan
接口了,那就换一种方式实现吧。
我换成继承android.text.style.UnderlineSpan
类,居然可以了
package com.utan.app.utantop;
import android.os.Parcel;
import android.text.style.UnderlineSpan;
/**
*
* Created by quanke.name on 2016/7/16.
* App Url:utantop.com
*/
public class UtanUnderlineSpan extends UnderlineSpan {
public UtanUnderlineSpan() {
super();
}
public UtanUnderlineSpan(Parcel src) {
super(src);
}
}
https://medium.com/@numan1617/android-framework-classes-choose-wisely-2f8300f6c255#.3669g6u0m