我有一个包含WordPress文章的活动。可以在设置中修改文章的文本大小。现在,加载新文章将显示修改后的文本大小。但是,此更改不会影响backstack中的文章活动,后者仍显示旧文本大小。
处理这种情况的最佳方法是什么?
我尝试了OnSharedPreferenceChangeListener
,但我不认为后台活动能够接收更改事件,因为它在后台。我现在想要保持更改首选项的时间并将其与onResume
中原始文章活动实例化时的比较,然后相应地重新加载文章。
有更好的方法吗?
答案 0 :(得分:0)
你可以坚持实际价值而不是时间,但除此之外:不。
暂停的活动不应该做任何事情,即使有可能以某种方式。
onResume
是前往这里的方式。
进一步说明:暂停的活动理论上仍然可以被其他引用使用,但是当Android在RAM上运行不足时,可以随时卸载暂停的Activity。然后在返回时从savedInstanceState恢复。因此,使用暂停的Activity是不可靠的,因为它可能会卸载也可能不会卸载。
答案 1 :(得分:0)
在onResume方法中,执行以下操作:
@Override
protected void onResume(){
SharedPreferences Prefs = PreferenceManager.getDefaultSharedPreferences(this);
int fontSize = Prefs.getInteger("font_size", 16);
}
.....
// then set your text font size ...