2016-08-26 3 views
-3

Я создал простую андроидную форму, в которой я получаю имя пользователя и пароль, и в этом Если я вхожу в имя пользователя и пароль, то он также переходит в состояние else. Но мое условие if всегда ложно в любой ситуации, и я не знаю почему.Android Если ошибка состояния

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

не использовать "==", использовать ema.equals ("deepak") –

+0

Кажется, у вас есть ответ, но на всякий случай, если вам интересно, почему == не работает , '==' проверяет ссылку. 'String a =" abc "и' String b = "abc", но 'a == b' даст вам значение false, поскольку ссылки внутри памяти' String' 'a' и' b' оба разные. –

ответ

0

Используйте эту

ema.equals("deepak") && pass.equals("deepak") в вашем if заявлении

0

использования Try это

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

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


    } 
0

использование .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

Проверьте состояние как это, и он будет работать нормально

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

если («Дипак» .equals (ЕМА) & & «Дипак» .equals (проход)) будет выполнять работу .Это будет также убедиться, что объекты ЕМА и передача в не null и может избежать нулевой проверки

Смежные вопросы