无法使用共享的首选项更新值

时间:2020-04-09 16:44:27

标签: android retrofit sharedpreferences

我无法在编辑文本中显示更新的值。我在服务器上有数据库。我正在使用改造来更新用户值。在服务器上,值更新成功,但是当我重新访问配置文件页面时,它显示了从共享首选项填充的值。登录时,我将值保存在共享的首选项中,并且在整个应用程序中都使用这些值。 保存和检索值的代码如下:

获取并设置共享首选项中的电子邮件地址

public void putEmail(String loginorout) {
        SharedPreferences.Editor edit = app_prefs.edit();
        edit.putString(EMAIL, loginorout);
        edit.apply();
    }

    public String getEmail() {
        return app_prefs.getString(EMAIL, "");
    }

从共享的首选项中检索值

accountETSU1.setText(preferenceHelper.getEmail());

1 个答案:

答案 0 :(得分:0)

如果创建一个名为PreferenceHelper的对象,则更为简单,在该对象中,您将为电子邮件的名称创建一个静态字符串,例如:

final String emailUser = "emailUser";

使用该字符串创建两个要编写的函数:

public void writeEmail(String : email, Context : context){
  SharedPreferences sharedPref = context.getPreferences(Context.MODE_PRIVATE);
  SharedPreferences.Editor editor = sharedPref.edit();
    editor.putString(emailUser, email);
    editor.commit();
}

另一个得到的东西:

public String getEmail(Context : context){
    SharedPreferences sharedPref = context.getPreferences(Context.MODE_PRIVATE);
    String email = sharedPref.getString(emailUser, "");
    return email;
}

然后在您的活动中调用对象

Context context = this@YourActivity;
accountETSU1.setText(PreferenceHelper.getEmail(context));