Android 共享首选项无法正常工作
我试图将一些字符串存储在共享首选项文件中,然后在另一个活动中检索它们,除非它似乎不起作用。任何关于我哪里出错的指导都将不胜感激。非常感谢Android 共享首选项无法正常工作,android,sharedpreferences,Android,Sharedpreferences,我试图将一些字符串存储在共享首选项文件中,然后在另一个活动中检索它们,除非它似乎不起作用。任何关于我哪里出错的指导都将不胜感激。非常感谢 public void save(View view) { SavePreferences("name", nameS); SavePreferences("current", currentS); SavePreferences("goal", goalS); SavePreferences("CurrentBmi", cBm
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);
}
使用现有代码,您将共享引用的访问限制为activitycontext级别 由于您使用的是getPreferencesMODE_PRIVATE,活动MainActivity中保存的值在活动进度中不可用 将此更改为
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
或
getPreferences:
public SharedPreferences getPreferences (int mode)
检索SharedReferences对象以访问此活动专用的首选项 使用您现有的代码,您将共享引用的访问限制在activitycontext级别 由于您使用的是getPreferencesMODE_PRIVATE,活动MainActivity中保存的值在活动进度中不可用 将此更改为
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
或
getPreferences:
public SharedPreferences getPreferences (int mode)
检索SharedReferences对象以访问此活动专用的首选项 第一点很有道理,谢谢。不过,我不确定使用getPreferences是什么意思。更改保存后,我的检索方法是否会失效?我刚刚从文档中发布了getPreferences的定义,其中说它检索了一个SharedReferences对象,用于访问此活动专用的首选项。第一点非常有意义,谢谢。不过,我不确定使用getPreferences是什么意思。在更改保存之后,我的检索方法会不会不起作用?我刚刚发布了文档中getPreferences的定义,它说它检索一个SharedReferences对象,用于访问此活动专用的首选项。