首页 > 解决方案 > 无法从共享首选项中获取数据

问题描述

我正在保存电话号码。在共同偏好和另一项活动中,我试图获得电话号码。来自共同的偏好。

private static final String KEY_PHONE = "keyphone";

SharedPreferences sharedPreferences = getSharedPreferences("simplifiedcodingsharedpref", Context.MODE_PRIVATE);
                                SharedPreferences.Editor editor = sharedPreferences.edit();
                                editor.putString(KEY_PHONE, "3454534565");
                                editor.apply();

在另一个活动中,我正在使用这样的东西:

SharedPreferences sp = getSharedPreferences("simplifiedcodingsharedpref", Context.MODE_PRIVATE);
String phone_id = sp.getString("keyphone","");

Toast.makeText(getApplicationContext(), phone_id, Toast.LENGTH_SHORT).show();

我的问题是在这里我没有在敬酒消息中收到电话号码,而且我的敬酒是空的。

有人请让我知道如何在其他活动中获得电话号码。任何帮助将不胜感激。

谢谢

标签: android

解决方案


除了一件事,你做的一切都是对的。

检索字符串值时,您不能只将值字段设置为“”。

检索String时,默认值为null,检索布尔值时,默认值为false,检索布尔值时,默认值为false。

所以而不是使用

String phone_id = sp.getString("keyphone","");

你需要使用

String phone_id = sp.getString("keyphone", null);

推荐阅读