Android 如何在SharedReferences中存储字体?

Android 如何在SharedReferences中存储字体?,android,sharedpreferences,android-typeface,Android,Sharedpreferences,Android Typeface,我正在尝试在android中使用SharedReferences存储字体。它在模拟器(android 4.4.2)中运行良好,但当我在设备(4.2.2和4.3.2)中启动应用程序时,它会崩溃。请帮帮我。谢谢 从SharedReferences获取 SharedPreferences fontSP = getActivity().getSharedPreferences("PREFSFONT", Activity.MODE_PRIVATE); fontStyle = Typeface.create

我正在尝试在android中使用SharedReferences存储字体。它在模拟器(android 4.4.2)中运行良好,但当我在设备(4.2.2和4.3.2)中启动应用程序时,它会崩溃。请帮帮我。谢谢

从SharedReferences获取

SharedPreferences fontSP = getActivity().getSharedPreferences("PREFSFONT", Activity.MODE_PRIVATE);
fontStyle = Typeface.createFromAsset(getActivity().getAssets(),fontSP.getString("fontValue", ""+SettingsABC.getTypeface(fontStyle)));
保存到SharedReferences的步骤

SharedPreferences fontSP = getActivity().getSharedPreferences("PREFSFONT", Activity.MODE_PRIVATE);
SharedPreferences.Editor bgEditor = fontSP.edit();
bgEditor.putString("fontValue", "boomerang.ttf");
bgEditor.commit();
错误如下所示:

字体无法制作


fontStyle
在您的
设置中大概是
null
。getTypeface(fontStyle)
,因为
fontStyle
尚未初始化。

您不能将字体存储在SharedReference上,为了便于访问,您可以通过扩展textview类来创建自定义textview,您可以在其中添加fontface