显示和编辑存储在SharedPreferences中的值

时间:2017-08-20 23:30:19

标签: android

请帮助,我有点失落,对这一切都很陌生并且想要学习。 我想在SharedPreferences中存储3个姓名和电话号码,并将其显示在单独的文本视图中,以便用户可以编辑姓名和电话号码,也可以按号码拨打电话号码。

到目前为止我所拥有的是:

public void setWardenName(Context context, String key, String value) {
            SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
            SharedPreferences.Editor editor = preferences.edit();
            editor.putString(getString(R.string.), Name);
            editor.apply();
    }
    public void getWardenName(Context context, String prefKey) {
        SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
        String name = preferences.getString("Name", "");
        if(!name.equalsIgnoreCase(""))
        {
            name = name;
        }
    }

在活动屏幕上,我有第一个texview:

android:id="@+id/textView2"这将是第一个名字。

所以我迷路了,感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

我会将守望者设为你的钥匙名,如果你想改变它,这取决于你。而且,我会假设它是在同一个班级,因为你正在使用'这个'在

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);

所以这就是..

private void setWarden(String value) {
    SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
    Editor editor = sharedPref.edit();
    editor.putString("Warden", value);
    editor.commit();
}


private String getWarden() {
    SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
    String name = sharedPref.getString("Warden", "");
    if(!name.equalsIgnoreCase(""))
        {
        return name;            
        }
    return "";
}

在你的textview中你可以得到它:

TextView tv = (TextView) findViewById(R.id.textView2);
tv.setText(getWarden());