我是初学者我希望在EditText
中获取文本并将其与另一个字符串进行比较。
我想检查Toast
中写入的文字是否等于'字符串'然后显示if (editText.getText().toString() == "admin") {
//Never enter this block when i type "admin" in the EditText.
Toast.makeText(MainActivity.this,"ok",Toast.LENGTH_LONG).show();
} else {
Toast.makeText(MainActivity.this,"Wrong User Or Pass",
}
但是它无法正常工作
我调试并检查两者的值是否完全是admin,但是如果block不起作用并显示else block。
{{1}}
答案 0 :(得分:11)
您必须使用String.equals()方法进行字符串匹配。
将您的代码更改为此
if (editText.getText().toString().equals("admin")) {
//your code
}
答案 1 :(得分:5)
不要使用==来比较字符串,因为字符串不是原始数据类型 而是使用user.equals(“admin”)
答案 2 :(得分:0)
您可以使用equalsIgnoreCase
。
此方法将此String与另一个String进行比较,忽略了大小写。如果两个字符串长度相同,则认为两个字符串是相等的,并且两个字符串中的相应字符相等,忽略大小写。
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (user.equalsIgnoreCase("admin")) {
Toast.makeText(MainActivity.this,"ok",Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(MainActivity.this,"Wrong User Or Pass",Toast.LENGTH_LONG).show();
Toast.makeText(MainActivity.this,user,Toast.LENGTH_LONG).show();
}
});
答案 3 :(得分:0)
当我使用这种方式时,我解决了我的问题。
boolean result = String1.equals(String2);
if (result)
{
return true;
}
else
{
return false;
}