EditText提示为共享pref默认值?

时间:2016-07-19 16:48:45

标签: android android-studio sharedpreferences

是否可以将EditText“提示”或默认文本设置为sharedpref字符串的值?我有3个EditText,一个按钮,当单击该按钮时,3个值将保存在SharedPreferences中以供以后在应用程序中使用。截至目前,单击按钮后,3个编辑文本将保留所输入的值,但如果您离开活动并返回,则它们都将返回空白。我想知道是否有办法设置它们,因此它们是字符串的sharedpref值,如果没有保存,则将它们设置为默认值。另外,如何设置sharedpref String的默认值?谢谢!

SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0);
            SharedPreferences.Editor editor = pref.edit();
            if (mEditTextBench.getText().length() > 0 && mEditTextDead.getText().length() > 0 && mEditTextSquat.getText().length() > 0) {
                editor.putString("maxDead", mEditTextDead.getText().toString());
                editor.putString("maxSquat", mEditTextSquat.getText().toString());
                editor.putString("maxBench", mEditTextBench.getText().toString());
                editor.apply();

这是我在另一个布局中的代码,用于测试以确保它正确保存。(它是)我不完全确定“null”在做什么。所以,如果有人可以帮助,也谢谢!!

String maxDead = pref.getString("maxDead", null);
    TextView textViewTest = (TextView) findViewById(R.id.textViewTest);
    textViewTest.setText(maxDead);

2 个答案:

答案 0 :(得分:1)

卫生署!!弄清楚了!将此添加到onCreate:

SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0);
    String maxDeadHint = pref.getString("maxDead", "100");
    mEditTextDead.setHint(maxDeadHint);

我的坏!谢谢!

答案 1 :(得分:1)

一旦你做了适当的替换,这应该有效:

TextView deadText = (TextView) findViewById(R.id.//insert id//);
TextView squatText = (TextView) findViewById(R.id.//insert id//);
TextView benchText = (TextView) findViewById(R.id.//insert id//);

deadText.setHint(pref.getString("maxDead", "default_value"));
squatText.setHint(pref.getString("maxSquat", "default_value"));
benchText.setHint(pref.getString("maxBench", "default_value"));