啊,这里有几个问题,有些是合法的错误:
-
-
您需要注释构造函数参数。这是一个合法的bug,您应该能够对其进行注释。
-
您的ParcelConverter应该写入和读取SpannableString的内容,Parceler不直接处理此类型。如果您测试它,这将导致运行时错误。
以下是您的代码的更新工作版本:
@Parcel
public class ParcelerTest
{
public SpannableString span1;
public SpannableString span2;
public SpannableString span3;
@ParcelConstructor
public ParcelerTest(@ParcelPropertyConverter(SpannableStringParcelConverter.class) SpannableString span1,
@ParcelPropertyConverter(SpannableStringParcelConverter.class) SpannableString span2,
@ParcelPropertyConverter(SpannableStringParcelConverter.class) SpannableString span3)
{
this.span1 = span1;
this.span2 = span2;
this.span3 = span3;
}
public static class SpannableStringParcelConverter implements ParcelConverter<SpannableString>
{
@Override
public void toParcel(SpannableString input, android.os.Parcel parcel)
{
parcel.writeString(input.toString());
}
@Override
public SpannableString fromParcel(android.os.Parcel parcel)
{
return new SpannableString(parcel.readString());
}
}
}
此外,使用
SpannableString
在代码库模型中。也许你可以用普通的
String
相反