Проблема с передачей данных в Android studio - PullRequest
0 голосов
/ 29 ноября 2018

Я хочу передать данные из одного занятия второму.У меня есть запрос на обновление.Это пароль для восстановления.Я пишу электронную почту и код в первом занятии и перехожу ко второму занятию.Им я пишу пароль.Но когда я нажимаю последнюю кнопку во втором действии, я вижу:

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();
}

1 Ответ

0 голосов
/ 29 ноября 2018

Вы, похоже, не инициализируете mDatabaseHelper во втором упражнении.onCreate Вы инициализируете электронную почту, но не переменную mDatabaseHelper.

...