我正在嘗試爲我自己的應用程序創建一個應用程序,並試圖將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」);'外部onCreate? –
@GyanendraMani當我嘗試把該行字符串maxDead = mSharedPref .....我得到一個錯誤說變量maxDead從內部類訪問,必須宣佈最後 – LBJ33