2016-03-29 9 views
0
package com.example.chris.thegiver; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.EditText; 
import android.widget.Toast; 

public class RegisterActivity extends AppCompatActivity { 
    // calls the constructor of the DatabaseHelper class which will create the database and table 
    DatabaseHelper registerDB = new DatabaseHelper(this); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_register); 
    } 

    public void onRegisterClick(View v) { 
     if (v.getId() == R.id.btnReg) { 

      EditText etName = (EditText) findViewById(R.id.etName); 
      EditText etEmail = (EditText) findViewById(R.id.etEmail); 
      EditText etUsername = (EditText) findViewById(R.id.etUsername); 
      EditText etPassword = (EditText) findViewById(R.id.etUsername); 
      EditText etConfirm = (EditText) findViewById(R.id.etConfirm); 


      String name = etName.getText().toString(); 
      String email = etEmail.getText().toString(); 
      String user = etUsername.getText().toString(); 
      String password = etPassword.getText().toString(); 
      String confirm = etConfirm.getText().toString(); 

      if (password.equals(confirm)) { 
       Contact c = new Contact(); 
       c.setName(name); 
       c.setEmail(email); 
       c.setUsername(user); 
       c.setPassword(password); 

       registerDB.insertContact(c); 
      } 
      else { 
       // Pop up message It skips the original if statement for some reason 
       Toast pass = Toast.makeText(RegisterActivity.this, "Passwords Dont Match!", Toast.LENGTH_SHORT); 
       pass.show(); 
      } 

     } 
    } 
} 
+0

Wenn ich die App zu testen, das Kennwort und Kennwort bestätigen sind gleich, aber aus irgendeinem Grund, wenn es die if-Anweisung erreicht er das Original überspringt, wenn und geht direkt zum else – Chris

+0

bitte nur relevanten code posten und dein problem erklären. – ShahiM

+0

Drucken Sie die Werte von "Passwort" und "Bestätigen" vor - if (password.equals (confirm)) { –

Antwort

1

Der einzig mögliche Grund dafür, nach dem bereitgestellten Code sind eine der beiden:

EditText etPassword = (EditText) findViewById(R.id.etUsername); 
EditText etConfirm = (EditText) findViewById(R.id.etConfirm); 

Diese IDs sind nicht das, was sie sagen, sie sind. Überprüfen Sie das XML-Layout und stellen Sie sicher, dass beide Edittext-IDs tatsächlich diejenigen sind, die Sie für richtig halten. Zum Beispiel haben Sie möglicherweise username und password id wegen Copy-Paste vertauscht und nicht bemerkt.

Oder: Sie fügen leere Räume und altough Sie sehen es nicht, der Text ist in der Tat verschiedene

EDIT: Nur mit mehr Aufmerksamkeit geprüft. Das Problem ist hier:

EditText etPassword = (EditText) findViewById(R.id.etUsername); 
EditText etConfirm = (EditText) findViewById(R.id.etConfirm); 

Grund einer

bestätigt
+0

user3806331 Vielen Dank. Ich habe das stundenlang angeschaut und muss diesen Tippfehler übersprungen haben. Vielen Dank nochmal – Chris

+0

Wenn etwas so offensichtlich nicht passiert, passiert ein offensichtlicher Benutzerfehler xD –

Verwandte Themen