我想从多个活动访问单个共享首选项文件。我遇到了this similar question,它有一个很好解释的答案,建议为此创建一个辅助类。所以我也跟着。这里是我的代码: -无法解析方法'getString'错误:SharedPreferences帮助程序类
1 //helper class
2 public class AppUserInfo {
3 public static final String KEY_PREF_USERNAME = "username";
3 public static final String APP_USER_INFO =
4 AppUserInfo.class.getSimpleName();
5 private SharedPreferences _sharedPrefs;
6 private SharedPreferences.Editor _prefEditor;
7
8 public AppUserInfo(Context context) {
9 this._sharedPrefs = context.getSharedPreferences(APP_USER_INFO,Activity.MODE_PRIVATE);
10 this._prefEditor = _sharedPrefs.edit();
11 }
12
13 public String getUsername() {
14 return _prefEditor.getString(KEY_PREF_USERNAME, "");
15 }
16
17}
然而,当定义getUsername()
法,IDE(Android Studio中)所指出的错误如下: -
Cannot resolve method 'getString(java.lang.String,java.lang.String)
(也试过实现没有辅助类中的溶液。而结果..)
我会得到相同的错误时,在已经创建的共享user_info
偏好文件中活动A并存储键值对{username : [email protected]}
在里面,我试图做到这一点在活动B: -
SharedPreferences _userInfo = getSharedPreferences("user_info", Context.MODE_PRIVATE);
SharedPreferences.Editor _prefEditor = _userInfo.edit();
String username = _prefEditor.getString("username","");
如何解决这个问题? 我也接受不同的方法,如果有的话。
您无法从编辑器中获取字符串 - 使用_sharedPrefs代替。 – Darwind
@Darwind哦,该死的我!非常感谢.. –
嘿嘿,没问题 - 有时它是让你感到困惑的小事情:-) – Darwind