Я пытаюсь создать приложение для своего собственного использования, и я пытаюсь сохранить 3 поля editText в Sharedpref, поэтому я могу использовать эти значения, чтобы вычислить их позже в приложении.Sharedpreferences для сохранения editText
Вот код:
SharedPreferences mSharedPreferences;
private EditText mEditTextBench;
private EditText mEditTextSquat;
private EditText mEditTextDead;
private Button mButton;
public String maxDead = mSharedPreferences.getString("maxDead", "DEFAULT");
Тогда в OnCreate метод у меня есть:
mSharedPreferences= PreferenceManager.getDefaultSharedPreferences(this.getBaseContext());
mButton = (Button) findViewById(R.id.button);
mEditTextBench = (EditText) findViewById(R.id.editTextBench);
mEditTextSquat = (EditText) findViewById(R.id.editTextSquat);
mEditTextDead = (EditText) findViewById(R.id.editTextDead);
и мою кнопку onclicklistener:
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences.Editor editor = mSharedPreferences.edit();
editor.putString("maxDead", mEditTextDead.getText().toString());
editor.commit();
Если я ставлю общественное Струнный maxDead, как конечная строка в методе onCreate, она работает, но я хочу иметь возможность изменить строку в будущем , используя editText. Я не думаю, что могу назвать его финальным.
Путь код теперь я получаю эту ошибку:
Attempt to invoke interface method 'java.lang.String android.content.SharedPreferences.getString(java.lang.String, java.lang.String)' on a null object reference
Эта линия общественности Строка maxDead = mSharedPreferences.getString ("maxDead", "DEFAULT"); должно быть ниже: mSharedPreferences = PreferenceManager.getDefaultSharedPreferences (this.getBaseContext()); –
вы пишете 'public String maxDead = mSharedPreferences.getStr («maxDead», «DEFAULT»); 'out onCreate? –
@GyanendraMani Когда я пытаюсь поместить эту строку String maxDead = mSharedPref ..... Я получаю сообщение об ошибке Variable maxDead, доступное изнутри внутреннего класса, должно быть объявлено окончательным – LBJ33