如何在SharedPreferences中保存字体字体?

时间:2014-05-07 13:50:08

标签: android sharedpreferences

我正在尝试在SharedPreferences中保存字体字体。但是我无法实现它,请帮助我。谢谢      这是我的代码。

阅读..

SharedPreferences fontSP = getActivity().getSharedPreferences("PREFSFONT", Context.MODE_WORLD_READABLE);


m_txTitle.setTypeface(fontSP.getString("fontValue", SettingsABC.getTypeface(fontStyle));

保存..

fontStyle = Typeface.createFromAsset(getAssets(), "caligula.ttf");
                    SharedPreferences fontSP = getSharedPreferences("PREFSFONT", MODE_WORLD_READABLE);
                    SharedPreferences.Editor bgEditor = fontSP.edit();
                    bgEditor.putString("fontValue", fontStyle.toString());
                    bgEditor.commit();

1 个答案:

答案 0 :(得分:1)

您已将Font对象的toString()保存到首选项中,然后尝试使用该值恢复该值,我99%肯定无法使用该值。 toString()不是序列化机制。

相反,您应该编写文件名并使用该文件名进行恢复。

bgEditor.putString("fontValue", "caligula.ttf"); //Use the filename here

然后恢复:

fontStyle = Typeface.createFromAsset(getAssets(), fontSP.getString("fontValue", SettingsABC.getTypeface(fontStyle));
m_txTitle.setTypeface(fontStyle);

或者接近那个。