比较Android中的两个字符串(if-else语句)

时间:2014-04-02 08:37:44

标签: android android-edittext

我正在使用Android应用中的登录页面。

如您所知,应用程序必须检查用户名和密码是否有效,然后授予用户访问该应用程序的权限。

我使用了以下代码:

...

EditText un = (EditText) findViewById(R.id.username1);
EditText pw = (EditText) findViewById(R.id.password1);
String u = un.getText().toString();
String p = pw.getText().toString();

//////// Now on the click of the Login Button:

public void onClickL (View view){
if ( (u.equals("Android")) && (p.equals("1234"))) /////// move to a new activity

else ///////Display a warning message: Try again
}

当我运行此代码时,它只执行else部分。为什么它没有执行if部分?我该怎么办?

4 个答案:

答案 0 :(得分:0)

试试这个..

获取内容点击功能,如下所示

public void onClick (View view){

      String u = un.getText().toString().trim();    
      String p = pw.getText().toString().trim();

       if ((u.equals("Android")) && (p.equals("1234"))) {
            //do something
       }    
       else{
           //do something
       }     
}

答案 1 :(得分:0)

原因是您在声明EditText时获取EditText的值。实际上你需要在点击按钮时从EditText中获取文本,因此你需要将代码移动到onClick()方法,如下所示,

@Override
public void onClick (View view)
{
     String u = un.getText().toString();
     String p = pw.getText().toString();
     if ( (u.equals("Android")) && (p.equals("1234"))) /////// move to a new activity
     {
         ....
     }
     else ///////Display a warning message: Try again
     {
        ....
     }
}

答案 2 :(得分:0)

请试试这个:

public void onClickL (View view){
    u = un.getText().toString();
    p = pw.getText().toString();   
     if (  u.equals("Android")   &&  p.equals("1234") ) /////// move to a new activity
       {

       } 
        else ///////Display a warning message: Try again
       {       

        }
}

答案 3 :(得分:0)

尝试以下代码

如果可用,

需要清除用户名中的空格。

public void onClick (View view){

  String username = un.getText().toString().trim();
  String password = pw.getText().toString();

   if ((username.equals("Android")) && (password.equals("1234"))) {
        //do something
   } else{
       //do something
   }     
}