我希望通过Typeface
(更具体地说是一个包含Intent
到Typeface
的类)过去Intent
但是因为该课程不是&{ #39; t Serializable
。我尝试创建一个像这样的容器类:
public class SerializableTypeface extends Typeface implments Serializable {
}
但是因为Typeface
没有默认构造函数而出错。但是当查找要放入构造函数的参数时,我找不到Typeface
的任何构造函数。
那么如何序列化Typeface
?
答案 0 :(得分:0)
实现此目的的另一种方法是将字体名称存储为字符串并在"另一侧"上解析它。
例如:
String typefaceName;
Typeface font = Typeface.createFromAsset(getContext().getAssets(), typefaceName);
答案 1 :(得分:0)
Typeface
没有任何公共或受保护的构造函数。唯一的构造函数是private
,因此您无法扩展Typeface
类。
一种可能性是将Typeface
实例作为transient
字段存储在对象中,并另外存储生成Typeface
所需的信息。这些字段可以被分区/序列化,Typeface
可以根据需要延迟加载。