我正在尝试在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();
答案 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);
或者接近那个。