SharedPreferencesを使用して簡単なログインとログアウトセッションを行っています。コードが正しくても共有設定でNullPointerExceptionが表示される
致命的な例外:メイン プロセス:com.chayan.jecrcuniversity、PID:16940 のjava.lang.NullPointerException:インタフェースメソッド 「android.content.SharedPreferences $を起動しよう。しかし、私はこのエラーを取得しています com.chayan.jecrcuniversity.StudentLogin $ 1.onClick(StudentLogin.java:40)でnullオブジェクト参照 上のエディタ android.content.SharedPreferences.edit()」ここで
が私の活動コード:
public class StudentLogin extends AppCompatActivity {
Button submit;
EditText un,pass;
public static final String MyPREFERENCES = "MyPrefs" ;
public static final String Username = "unameKey";
public static final String Password = "passKey";
//public static final String Email = "emailKey";
SharedPreferences sharedpreferences;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
un=(EditText)findViewById(R.id.editText4);
pass=(EditText)findViewById(R.id.editText6);
submit=(Button)findViewById(R.id.button6);
sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String username=un.getText().toString();
String password=pass.getText().toString();
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putString(Username, username);
editor.putString(Password, password);
editor.apply();
startActivity(new Intent(StudentLogin.this,MainActivity.class));
Toast.makeText(StudentLogin.this,"Welcome, "+un.getText().toString(),Toast.LENGTH_LONG).show();
}
});
}
}
'getSharedPreferences(MyPREFERENCES、Context.MODE_PRIVATE);'ヌル – SripadRaj
を返しているあなたの質問にコピー/貼り付けエラーがない場合、私はこの問題の原因を参照してくださいcan't。あなたのsharedPreferencesは、正しい場所であるonCreate()の後に作成されます。元のROMまたはカスタムROMを使用していますか? – Opiatefuchs
あなたのアプリを削除してから、再インストールしてください。新しい建物の後に引き継がれない変更を加えたかもしれません。 – Opiatefuchs