是否可以将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);
答案 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"));