【问题标题】:How can I CHANGE shared preferences values from another activity?如何更改其他活动的共享偏好值?
【发布时间】:2019-03-05 14:10:57
【问题描述】:

我有一些活动,其中一项名为SettingsActivity。我在那里创建了共享偏好(现在只有一个布尔值,但它会更多)。

我想在其中存储值并在我的所有其他活动中访问(不仅访问而且实际更改)它的值。如何从其他活动中更改此布尔值?

非常感谢!!!

【问题讨论】:

  • 共享首选项应该可以从任何活动 AFAIK 中同等访问。我不明白你的问题。
  • 你的问题已经在android中实现了。去做吧。
  • 如何更改其他活动的共享偏好值?答:与您从原始活动更改它的方式相同。欢迎。按目的:stackoverflow.com/help/how-to-ask

标签: java android sharedpreferences


【解决方案1】:

当您创建SharedPreference 时,它已经在所有其他活动中可用,可以从中访问。

我希望在您保存此内容时,您正在执行以下操作。

private SharedPreferences prefs;
prefs = getSharedPreferences("YOUR_APP_NAME", Context.MODE_PRIVATE);
prefs.edit().putBoolean("SOME_KEY", booleanValue).apply();

现在,当您从另一个活动中获取它时,您需要执行以下操作。

private SharedPreferences prefs;
prefs = getSharedPreferences("YOUR_APP_NAME", Context.MODE_PRIVATE);
prefs.getBoolean("SOME_KEY", defValue);

SharedPreference 存储键值对,因此您可以在任何想要获取的位置找到键值。

现在您可以从任何活动中更改它。只需使用相同的密钥从其他活动中引用它。

private SharedPreferences prefs;
prefs = getSharedPreferences("YOUR_APP_NAME", Context.MODE_PRIVATE);
prefs.edit().putBoolean("SOME_KEY", otherBooleanValue).apply();

【讨论】:

  • 非常感谢,它成功了。我不知道我做错了什么,我尝试的几乎相同,但我编辑的方式不同(我创建了一个 Editor 对象)。无论如何,我已经删除了该代码))对不起那个菜鸟问题
猜你喜欢
  • 1970-01-01
  • 2012-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多