Я хочу передать данные из одного занятия второму.У меня есть запрос на обновление.Это пароль для восстановления.Я пишу электронную почту и код в первом занятии и перехожу ко второму занятию.Им я пишу пароль.Но когда я нажимаю последнюю кнопку во втором действии, я вижу:
java.lang.NullPointerException: Attempt to invoke virtual method 'void com.example.pawe.aplikacja.DatabaseHelper.updateUser(java.lang.String, java.lang.String)' on a null object reference
Это первое действие.
public void recoverPassword(){
if (!emptyValidation()) {
User user = mDatabaseHelper.recoverUser(editTextSaveEmail.getText().toString(), editTextSavePin.getText().toString());
if (user != null) {
String em = editTextSaveEmail.getText().toString();
Intent intent = new Intent(Recover.this,ChangePassword.class);
intent.putExtra("email",em);
startActivity(intent);
Toast.makeText(Recover.this, "Poprawne dane", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(Recover.this, "Nie znaleziono", Toast.LENGTH_SHORT).show();
}
}else{
Toast.makeText(Recover.this, "Empty Fields", Toast.LENGTH_SHORT).show();
}
}
Это второе действие.
private void updateData(){
if(!emptyValidation()){
if(!toSame()){
mDatabaseHelper.updateUser(email,editTextChangePassword.getText().toString());
Toast.makeText(ChangePassword.this,"Zmienione hasło", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(ChangePassword.this, "Nie pasują do siebie", Toast.LENGTH_SHORT).show();
}
}else{
Toast.makeText(ChangePassword.this, "Empty Fields", Toast.LENGTH_SHORT).show();
}
}
в Oncreate:
email = getIntent().getStringExtra(email);
И updateQuery в базе данных.
public void updateUser(String email, String password){
db=this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(COLUMN_PASSWORD_USER, password);
values.put(COLUMN_EMAIL_USER, email);
String[] whereArgs = {email};
db.update(TBL_PER,values,COLUMN_EMAIL_USER + " = ?", whereArgs);
db.close();
}