2012-05-29 3 views
0
Button loginbuttonbutton = (Button) findViewById(R.id.btnLogin); 
loginbuttonbutton.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View view) { 
     if(inputEmail.getText().toString() == "[email protected]" && 
      inputPassword.getText().toString() == "Steelers") { 
      Intent myIntent = new Intent(view.getContext(), 
             Host_Setting_PageActivity.class); 
      startActivityForResult(myIntent, 0); 
     } else { 
      System.out.println("Username or password is incorrect"); 
     } 
    } 
}); 

Это мой код, и приложение действительно начинается, но всякий раз, когда я нажимаю кнопку входа, приложение закрывается.Как установить мое имя пользователя и пароль в коде.?

+1

Возможный дубликат [Как сравнить строки в Java?] (http: // stackoverflow.com/questions/513832/how-do-i-compare-str ings-in-java) ==> Используйте '.equals' вместо' == 'для сравнения строк. – assylias

+0

Повседневный вопрос на SO по порядку сверху. –

+0

@ KazekageGaara - Это не необоснованно - это непростая ошибка, и результаты не часто выглядят как ошибка сравнения строк. Для пользователей, поступающих с языка C++ или C#, распознавание ошибки никоим образом не является интуитивным. – derekerdmann

ответ

3

первое использование .equals() для сравнения строк.

== сравнивает строки refrences.Not значение.

.equals() = сравнения строк символов равенства

if((inputEmail.getText().toString().equals("[email protected]")&&inputPassword.getText().toString().equals("Steelers")) 

И если сила близко, чем ставить LogCat здесь ..

+0

Я пробовал свой путь, и он снова был закрыт, я поставил свой лог-код выше в вашем ответе на сообщение – user1424296

+0

Лог-код ниже означает –

+0

Лог-код выше в вашем сообщении – user1424296

2

использование равно INSEAD из == для сравнения строк

loginbuttonbutton.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View view) { 
      if(inputEmail.getText().toString().equals("[email protected]") && inputPassword.getText().toString().equals("Steelers")){ 
      Intent myIntent = new Intent(YOUR_CURRENT_ACTIVITY.this, Host_Setting_PageActivity.class); 
      startActivityForResult(myIntent, 0); 
     } 
      else{ 
       System.out.println("Username or password is incorrect"); 
      } 
     } 
    }); 

и убедитесь, что вы регистрируетесь YOUR_CURRENT_ACTIVITY.this и Host_Setting_PageActivity.class как в Manifest.xml

+0

I попробовал это и ваш путь, и экран входа в систему по-прежнему закрывается. – user1424296

+0

может уйти в Logcat? и я уверен, что у вас есть проблема в Host_Setting_PageActivity.class Activity –

+0

Только что отправил logcat в свой ответ – user1424296

0

Вы должны добавить

Host_Setting_PageActivity.class к вашему AndroidManifest

А также, вы должны сравнивать строки всегда использовать .equals и не с "==", поскольку "==" действительно будет сравнивать экземпляр строкового объекта, а .equals проверит значение строки

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