-1

我有以下 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

4 回答 4

3

尝试使用“等于”而不是“==”。

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

说明:如何在 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();
    }
  }
});
于 2013-10-18T05:08:04.947 回答
1
if (t_etPassword == "admin")

将上面的行更改为

if (t_etPassword.equals("admin"))

现在你会得到正确的答案

于 2013-10-18T05:07:58.510 回答
0

请更改此行:

if (t_etPassword == "admin")

if (t_etPassword.equals("admin"))
于 2013-10-18T05:08:11.600 回答
0

您应该.equals改用:

if(t_etPassword.equals("admin"))

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

于 2013-10-18T05:08:18.603 回答