我有一个用户名和密码字符串。如何在Android中比较它们?这正是我正在寻找的:
if( user== username && pass == password){ then do this }
else if(user[does not equal to]username && pass==password{ toast (invaild username.)}
else if(user==username && pass[does not equal] password{toast(invaild password)}
else{ toast [invaild login]}
我知道这不是正确的编码,但是两个“else if”语句是我正在寻找的。其余的只是为了更好地理解我正在尝试做的事情。
用户名是与密码相同的Edittext输入的内容,因此当i .getText.toString对,它们都是String?
答案 0 :(得分:2)
要比较字符串中的文字,请使用equals()
,例如pass.equals(password)
而不是==检查两个字符串是否是同一个对象。
对于“不等于”,你可以否定陈述,例如!pass.equals(password)
。
答案 1 :(得分:0)
您可以使用pass.equal(password)
。
答案 2 :(得分:0)
使用equals方法比较字符串。
if( user.equals(username) && pass.equals(password))
{
then do this
}
else if(!user.equals(username) && pass.equals(password)
{
Toast.makeText(this,"invalid username",Toast.LENGTH_SHORT).show();
}
else if(user.equals(username) && !pass.equals(password))
{
Toast.makeText(this,"invalid password",Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(this,"Invalid login",Toast.LENGTH_SHORT).show();
}
答案 3 :(得分:0)
您想使用.equals(..)
来比较Strings
。另外,要在逻辑上执行不,您可以使用!
。
//define user, username
//define pass, password
if(user.equals(username) && pass.equals(password)){
//then do this
}
else if(!user.equals(username) && pass.equals(password)){
//toast (invaild username.)
Toast.makeText(getApplicationContext(), "invalid username", Toast.LENGTH_SHORT).show();
}
else if(user.equals(username) && !pass.equals(password)){
//toast(invaild password)
Toast.makeText(getApplicationContext(), "invalid password", Toast.LENGTH_SHORT).show();
}
else{
//toast [invaild login]
Toast.makeText(getApplicationContext(), "invalid login", Toast.LENGTH_SHORT).show();
}
以下是Toast
的一些来源:
http://www.mkyong.com/android/android-toast-example/
http://developer.android.com/guide/topics/ui/notifiers/toasts.html