如何将SpannableString写入parcel?

Kan*_*aja 5 string android parcelable spannablestring

在我的应用程序中,我有一个包含很少SpannableString对象的对话 因为这是对话框,所以我需要能够在用户离开应用程序时存储它并稍后再返回它.

但问题是如何写入SpannableString包裹?

Kan*_*aja 9

我实际上发现了一些使用已有功能的方法,虽然我不确定它是否适用于所有类型的跨度,或仅适用于我正在使用的那些.

在内部写包裹方法你必须添加

@Override
public void writeToParcel(Parcel dest, int flags) {
    TextUtils.writeToParcel(mSpannableString, dest, flags);
}
Run Code Online (Sandbox Code Playgroud)

接下来为了从Parcel中提取SpannableString你应该使用它

public CustomConstructor(Parcel parcel) {
    mSpannableString = (SpannableString) TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(parcel);
}
Run Code Online (Sandbox Code Playgroud)