在android上使用Parceler时,是否可以使用注释接口@Parceler
并让它在实现类中获取可能@ParcelConstructor
和@ParcelFactory
注释?
目标是避免编写自定义ParcelConverter以在 Parceler 中重用通用字段映射,但似乎implementations=
参数to@Parcel
更倾向于将子类型映射到超类型(而不是相反):
@Parcel // can this be used to serialize **all** implementations ...
public interface MyIface {
String getProperty1();
int getProperty2();
}
public class MyImpl implements MyIface {
@ParcelFactory // and can this be used to deserialize the interface?
public static MyImpl fromParcelerValues(final String property1, final int property2) {
...
}
}
当然,如果有多个匹配的映射可能会有歧义,但即使没有任何歧义,我似乎也找不到任何关于让这个功能工作的文档。