2016-08-26 2 views
-3

Ich erstellte einfache Android-Formular, in dem ich Benutzername und Passwort und in diesem Wenn ich Benutzernamen und Passwort eingeben ist Deepak dann auch geht es zu anderen Zustand. Aber meine if-Bedingung ist in jeder Situation immer falsch und ich weiß nicht warum.Android If Condition Fehler

package com.example.dac.simple_intent_form; 

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

public class MainActivity extends AppCompatActivity implements View.OnClickListener { 

Button button; 
EditText email, password; 

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

    button = (Button) findViewById(R.id.button); 
    email = (EditText) findViewById(R.id.eemail); 
    password = (EditText) findViewById(R.id.epassword); 

    button.setOnClickListener(this); 
} 

@Override 
public void onClick(View v) { 
    String ema = email.getText().toString(); 
    String pass = password.getText().toString(); 

    if (ema == "deepak" && pass == "deepak") 
    { 
     Bundle b = new Bundle(); 
     b.putString("email", ema); 
     b.putString("password", pass); 
     Intent i = new Intent(getApplicationContext(),Activity2.class); 
     i.putExtras(b); 
     startActivity(i); 
    } 
    else 
    { 
     Toast.makeText(getApplicationContext(),"Plase Enter Right Username and Password",Toast.LENGTH_SHORT).show(); 
    } 
} 
} 
+1

nicht verwenden "==", verwenden Sie ema.equals ("Deepak") –

+0

Scheint, Sie haben die Antwort, aber nur für den Fall, wenn Sie sich fragen, warum == funktioniert dann nicht , '==' überprüft die Referenz. 'String a =" abc "' und 'String b =" abc "' aber 'a == b 'wird Ihnen falsch geben, denn die Referenzen im Speicher von' String' 'a' und' b' sind beide unterschiedlich. –

Antwort

0

verwenden

ema.equals("deepak") && pass.equals("deepak") in Ihrer if Anweisung

0

Try Verwendung dieses

String ema = email.getText().toString(); 
    String pass = password.getText().toString(); 

    if (ema.toLowerCase().equals("deepak") && pass.toLowerCase().equals("deepak")) 
    { 


    } 
0

Verwendung .equals()

if (ema.equals("deepak") && pass.equals("deepak")) 
{ 
    Bundle b = new Bundle(); 
    b.putString("email", ema); 
    b.putString("password", pass); 
    Intent i = new Intent(getApplicationContext(),Activity2.class); 
    i.putExtras(b); 
    startActivity(i); 
} 
0

den Zustand prüfen wie diese und es wird funktionieren

if (ema.equals("deepak") && pass.equals("deepak")){} 
0

if ("deepak" .equals (ema) & & "deepak" .equals (pass)) wird der Auftrag .Dieses tun auch sicher, dass Objekte ema und Pass machen sind nicht Null und kann Null überprüfen