【问题标题】:Trying to edit specific sharedpreferences from different activity尝试编辑来自不同活动的特定共享首选项
【发布时间】:2015-01-05 21:26:18
【问题描述】:

所以我有一个应用程序,我试图从另一个活动中获取一个活动的共享偏好。我不能使用 defaultSharedPreferences。这是我的代码:

thisd = ma.
    getSharedPreferences(
            user, Context.MODE_PRIVATE);

其中 thisd 是共享首选项,user 是特定的 sharedpreferences,ma 是具有共享首选项的 Activity 实例。现在在名为 AddNameActivity 的活动中。

【问题讨论】:

  • 您好,欢迎来到 Stack Overflow。请花几分钟阅读stackoverflow.com/help/how-to-ask。在您的情况下:是否有错误消息?如果有,是什么?

标签: android android-activity sharedpreferences


【解决方案1】:

共享偏好并不特定于任何活动。它在应用程序中很常见。

在您向 Shared Preferences 添加值的文件中,添加此代码示例。

  SharedPreferences prefs = getSharedPreferences("your_file_name", MODE_PRIVATE);
  SharedPreferences.Editor editor = prefs.edit();
  editor.putString("yourStringName", "this_is_the_saved_value");
  editor.commit(); 

在要读取值的文件中(可能是第二个活动),添加此代码示例。

    SharedPreferences prefs = getSharedPreferences("your_file_name",MODE_PRIVATE); 
    String string = prefs.getString("yourStringName","default_value");

您可以使用默认文件来保存/读取您的首选项。

这样的话,把上面两个sn-ps代码的第一行替换成这样:

SharedPreferences prefs = getDefaultSharedPreferences(getApplicationContext());

【讨论】:

  • 非常感谢!所以只是为了澄清一下,如果您在一个活动中创建共享首选项,那么共享首选项也可以在不同的活动中使用?
  • @user3798602, YES ... 另外,如果您对答案没问题,请标记并关闭循环。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-01
  • 1970-01-01
  • 2011-06-25
  • 1970-01-01
  • 2012-09-20
  • 2015-02-01
相关资源
最近更新 更多