gpt4 book ai didi

android - 共享首选项无法正常工作

转载 作者:行者123 更新时间:2023-11-29 17:57:51 25 4
gpt4 key购买 nike

我试图将一些字符串存储在一个共享首选项文件中,然后在另一个 Activity 中检索它们,但它似乎不起作用。任何关于我哪里出错的指导将不胜感激。非常感谢。

public void save(View view) {
SavePreferences("name", nameS);
SavePreferences("current", currentS);
SavePreferences("goal", goalS);
SavePreferences("CurrentBmi", cBmiS);
SavePreferences("goalBmi", gBmiS);
Toast.makeText(this, "profile Saved", Toast.LENGTH_SHORT).show();
startActivity(new Intent(this, MainActivity.class));

}

private void SavePreferences(String key, String value) {
SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(key, value);
editor.commit();
}






public class Progress extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_progress);
SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE);
String test = sharedPreferences.getString("name", "");
String test2 = sharedPreferences.getString("current", "");
TextView testy = (TextView) findViewById(R.id.textView1);
testy.setText(test);
TextView testz = (TextView) findViewById(R.id.test2);
testz.setText(test2);
}

最佳答案

使用您拥有的代码,您将共享首选项的访问限制在 Activity (上下文)级别。

保存在 Activity Activity MainActivity 中的值在 Activity Progress 中将不可用,因为您正在使用 getPreferences(MODE_PRIVATE);

将此更改为

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);

SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);

获取首选项:

public SharedPreferences getPreferences (int mode)

检索 SharedPreferences 对象以访问此 Activity 私有(private)的首选项。

关于android - 共享首选项无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18046364/

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