gpt4 book ai didi

java - 获取两个 Activity 之间的共享偏好

转载 作者:行者123 更新时间:2023-12-01 07:53:28 24 4
gpt4 key购买 nike

我在从 MainActivity.Java 中的 ContactView.Java 读取 SharedPreference 时遇到问题

这就是我的 ContactView.Java 中的内容:

SharedPreferences settings = getSharedPreferences("SelectedContact", MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putString("contactName", name);
editor.putString("contactPhone", phoneNo);
editor.commit();

这在我的 OnCreate 中用于将它们设置为 TextView:

SharedPreferences settings = getSharedPreferences("SelectedContact", MODE_PRIVATE);
String name = settings.getString("contactName", "");
//the second parameter set a default data if “contactName” is empty
if (!name.isEmpty()){
textView1.setText(name);
}
String phoneNo = settings.getString("contactPhone", "");//the second parameter set a default data if “contactName” is empty
if (!phoneNo.isEmpty()){
textView2.setText(phoneNo);
}

现在,当我进入 MainActivity 时,我想阅读它们:

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
String phoneNo = sharedPreferences.getString("contactPhone", "");
String name = sharedPreferences.getString("contactName", "");

但是字符串似乎是空的,不包含任何名称或电话不,我做错了什么?

最佳答案

您正在访问 2 个不同的 SharedPreferences 文件。

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

不同
SharedPreferences settings = getSharedPreferences("SelectedContact", MODE_PRIVATE);

使用

PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

无处不在。

关于java - 获取两个 Activity 之间的共享偏好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33541320/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com