我不明白为什么它不会让我返回 sharePreferenceUtils。有一个更好的方法吗?我收到错误“类型不兼容” private static String Preference_NAME = "CodeLotto"; private static SharePreferenceUtils sharePreferenceUtils; private SharedPreferences sharedPreferences; private SharePreferenceUtils(Context context){ Preference_NAME = Preference_NAME + context.getPackageName(); this.sharedPreferences = context.getSharedPreferences(Preference_NAME, Context.MODE_PRIVATE); } public static SharedPreferences getInstance(){ if (sharePreferenceUtils == null) { sharePreferenceUtils = new SharePreferenceUtils(MyApp.getContext()); } return sharePreferenceUtils; } public void saveString(String key, String Val){ SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString(key, Val); editor.commit(); } public String getString(String key, String defVal){ return sharedPreferences.getString(key, defVal); } public String getString(String key){ return sharedPreferences.getString(key, ""); }}
2 回答
幕布斯6054654
TA贡献1876条经验 获得超7个赞
您使用 SharedPreferences 作为 getInstance 方法的返回类型,并返回一个 SharePreferenceUtils 实例。除非它们受到某种多态性的约束,否则就错了。
繁星点点滴滴
TA贡献1803条经验 获得超3个赞
将您的 getInstance() 方法更改为以下代码片段,您将获得返回 SharedPreferenceUtils。
public static SharePreferenceUtils getInstance(){
if (sharePreferenceUtils == null) {
sharePreferenceUtils = new SharePreferenceUtils(MyApp.getContext());
}
return sharePreferenceUtils;
}
您的方法的返回类型是SharedPreferences这就是问题所在。
添加回答
举报
0/150
提交
取消