【发布时间】:2018-12-26 21:41:29
【问题描述】:
因此,当我在 EditText 栏中输入正确的凭据时,我仍然会收到 ACCESS DENIED 消息。应该发生的是我应该得到 ACCESS GRANTED 消息而不是 ACCESS DENIED。那么我的 if 语句有什么问题呢?
LinearLayout layout = new LinearLayout(this);
layout.Orientation = Orientation.Vertical;
TextView userText = new TextView(this);
TextView passText = new TextView(this);
EditText userInput = new EditText(this);
EditText passInput = new EditText(this);
TextView access = new TextView(this);
access.Text = "";
Button loginButton = new Button(this);
loginButton.Text = "Login";
userText.Text = "Username";
passText.Text = "Password";
userInput.SetMaxLines(1);
passInput.SetMaxLines(1);
string username = userInput.Text;
string password = passInput.Text;
loginButton.Click += (sender, e) =>
{ CheckCredentials(); };
void CheckCredentials()
{
if (username == "Admin" && password == "adminpass")
{
access.Text = "ACCESS GRANTED!";
}
else
{
access.Text = "ACCESS DENIED!";
}
}
SetContentView(layout);
layout.AddView(userText);
layout.AddView(userInput);
layout.AddView(passText);
layout.AddView(passInput);
layout.AddView(loginButton);
layout.AddView(access);
当您将“Admin”作为用户名并将“adminpass”作为密码时,应打印出 ACCESS GRANTED。
【问题讨论】:
-
您没有重新分配用户名和密码变量。
-
@TheREE 如果您在代码中设置断点并在代码执行时检查值,您可能已经知道这一点。或记录正在检查的用户名和密码。