"如果"声明不起作用

时间:2013-10-18 05:05:00

标签: java string

我有以下Android程序代码。即使我输入“admin”,它也不起作用,正确的答案。然后我干杯输入与==“admin”完全相同。但它仍然无法正常工作!有什么伎俩吗?请帮忙 !!非常感谢!!

EditText etPassword =(EditText) findViewById(R.id.etPassword);
String t_etPassword =etPassword.getText().toString();

// display the t_etPassword for checking since the "if" does not work
Toast.makeText(getApplicationContext(), "<<" +t_etPassword +">>", Toast.LENGTH_SHORT).show();

if (t_etPassword == "admin") {
    Intent intent = new Intent(getBaseContext(), ContactListActivity.class);
    startActivity(intent);
   } else {
    Toast.makeText(getApplicationContext(), "Un-Authorised Access !!", Toast.LENGTH_SHORT).sho();
    }
  }
});

4 个答案:

答案 0 :(得分:3)

尝试使用'equals'代替'=='。

if ("admin".equals(t_etPassword)) {

说明:How do I compare strings in Java?

编辑:不要将文本移动到字符串变量,这是不必要的。 试试这个:

EditText etPassword =(EditText) findViewById(R.id.etPassword);
if ("yourpass".equals(etPassword)) {
    Intent intent = new Intent(getBaseContext(), ContactListActivity.class);
    startActivity(intent);
   } else {
    Toast.makeText(getApplicationContext(), "Un-Authorised Access !!", Toast.LENGTH_SHORT).sho();
    }
  }
});

答案 1 :(得分:1)

if (t_etPassword == "admin")

将上一行更改为

if (t_etPassword.equals("admin"))

现在你会得到正确答案

答案 2 :(得分:0)

请更改此行:

if (t_etPassword == "admin")

if (t_etPassword.equals("admin"))

答案 3 :(得分:0)

您应该使用.equals代替:

if(t_etPassword.equals("admin"))

==正在检查引用相等性,而.equals用于比较值。