Android:SharedPreferences未被其他活动拉入

时间:2014-04-10 23:43:43

标签: java android sharedpreferences

我目前在另一项活动中获取共享偏好时遇到一些问题。我目前在我的主要活动中设置了以下内容: OnCreate方法:

SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
        SharedPreferences preferences = getPreferences(MODE_PRIVATE);
        String tut = preferences.getString("KEY", "");
        ip = tut;

然后我有一个菜单来编辑偏好:

SharedPreferences.Editor editor = getPreferences(
                            MODE_PRIVATE).edit();
                    String value = input.getText().toString();
                    editor.putString("KEY", value);
                    editor.commit();
                    SharedPreferences preferences = getPreferences(MODE_PRIVATE);
                    String tut = preferences.getString("KEY", "");
                    ip = tut;

但是,当我尝试在其OnCreate方法中的另一个活动中接收数据时,它无法获取数据:

第二项活动:

SharedPreferences preferences = getPreferences(MODE_PRIVATE);
        String tut = preferences.getString("KEY", "");
        ip = tut;

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

而不是使用" getPreferences(0)"您需要使用自己的名称设置和使用共享首选项,这是一个示例:

//Fragment Activity One
SharedPreferences prefs = getActivity().getSharedPreferences("user",0);
SharedPreferences.Editor setPrefs = prefs.edit();
setPrefs.putString("name",profile.getName());
setPrefs.putString("email",profile.getEmail());
setPrefs.putString("idFacebook",profile.getIdFacebook());
setPrefs.putString("password",profile.getPassword());
setPrefs.putString("bio",profile.getBio());
setPrefs.putInt("id",profile.getId());
setPrefs.commit();

//Fragment Activity Two
SharedPreferences prefs = getActivity().getSharedPreferences("user",0);
String name = prefs.getString("name","")

多数民众赞成我如何使用SharedPreferences,希望它有所帮助

答案 1 :(得分:0)

您正在使用私人版本的共享偏好设置;如何使用它,只能由原始活动看到这些值。您应该使用getSharedPreferences(String, int);代替。请访问:http://developer.android.com/guide/topics/data/data-storage.html#pref

了解详情