我正在尝试为我自己的应用程序创建一个应用程序,并试图将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