gpt4 book ai didi

java - 使用 PreferenceActivity 时刷新 Preferences View

转载 作者:太空狗 更新时间:2023-10-29 22:56:27 25 4
gpt4 key购买 nike

我试图强制 PreferenceActivity 刷新。有谁知道如何做到这一点?

我有一个 ResetDefaultsPreference 类,它是 Preference 的子类,并且在单击时应该将所有键以特定前缀开头的首选项重置为默认值。它有效,但是当我点击重置首选项时,在我退出屏幕并返回之前,该屏幕中的任何首选项都不会更新。(这适用于某些自定义颜色首选项,但即使这样也不适用于某些 ListPreferences - 对于那些我必须离开并重新输入 PreferenceActivity 本身以显示更新的值。)

我试图通过获取 Root View 和 invalidate() 来解决这个问题,但这似乎不起作用。这是刷新显示的行。它是 Preference 子类的一部分,该子类保留在 mContext 中创建的 Context

((Activity)mContext).findViewById(android.R.id.content).invalidate();

这发生在偏好值被更改和提交之后。 (值会改变,但显示不会。)有谁知道我如何强制 PreferenceActivity 自行刷新?

最佳答案

我不知道有什么方法可以“刷新”PreferenceActivity,但您可以给用户制造幻觉。它将关闭并重新打开没有动画的 Activity,因此它看起来就像值刚刚发生变化一样。

Intent intent = getIntent();
overridePendingTransition(0, 0);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
finish();
overridePendingTransition(0, 0);
startActivity(intent);

关于java - 使用 PreferenceActivity 时刷新 Preferences View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6380658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com