我正试图强制PreferenceActivity
刷新。有谁知道怎么做?
我有一个ResetDefaultsPreference
类,其子类为Preference
,并且在单击时,应该重置为默认所有其键以某个前缀开头的首选项。它可以工作,但是当我点击重置首选项时,该屏幕中的所有首选项都不会更新,直到我退出屏幕并返回。(这适用于某些自定义颜色首选项,但即使这样也不适用于某些{ {1}} s - 对于那些我必须离开并重新输入ListPreference
本身以显示更新值的人。)
我尝试通过获取根视图和PreferenceActivity
来解决此问题,但这似乎不起作用。这是刷新显示的行。它位于invalidate()
子类的一部分,用于保存Preference
中创建的Context
。
mContext
在更改和提交首选项值之后会发生这种情况。 (值会更改,但显示不会。)有谁知道我如何强制PreferenceActivity自我刷新?
答案 0 :(得分:13)
我不知道如何“刷新”PreferenceActivity,但您可以为用户创建幻觉。它将关闭并重新打开没有动画的活动,因此它看起来好像值只是改变了。
Intent intent = getIntent();
overridePendingTransition(0, 0);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
finish();
overridePendingTransition(0, 0);
startActivity(intent);