Android登录:即使输入正确,登录失败?

时间:2014-08-03 09:43:27

标签: android button login

所以我一直试图在没有数据库的情况下做这个简单的登录应用程序。如果输入与定义的函数相同,则登录将成功。

按钮功能正常,但即使输入正确值,我也无法登录!

以下是代码

声明

String id ="id";
String pw ="pw";

如果不是

userET = (EditText)findViewById(R.id.editTextUser);
                  passwordET = (EditText)findViewById(R.id.editPassword);

              loginBT = (Button)findViewById(R.id.btnLogin);
              loginBT.setOnClickListener(new OnClickListener() {

                    public void onClick(View v) {
                          try {
                                if(userET.equals(id)
                                            && passwordET.equals(
                                                        pw)) {
                                      Toast.makeText(Login.this,
                                                  "login passed!!",
                                                  Toast.LENGTH_SHORT).show();  

                                      //user = userET.getText();

                                      startActivity(new Intent("MainActivity"));

                                } else {
                                      Toast.makeText(Login.this,
                                                  "login failed!!",
                                                  Toast.LENGTH_SHORT).show();
                                }
                          } catch (Exception e) {
                                e.printStackTrace();
                          }
                    }
              });
        } 

        }

提前谢谢

更新:抱歉,我应该发布一个新问题,我之前的问题是关于按钮这是我刚刚编辑的第二个问题,因为在我发布上一个问题之后我立即意识到了什么是错误的固定它。我不知道有些人能够快速回复,感谢那些人。 :d

4 个答案:

答案 0 :(得分:1)

你应该这样做:

username = userET.getText().toString();
password = passwordET.getText().toString();

之前:

if(username.equals(id) && password.equals(pw)) {

因为用户名和密码的值为空。

答案 1 :(得分:0)

public void onClick(View v) {
    try {
        if(username.equals(id) && password.equals(pw))
            [...]

您从哪里获取usernamepassword的值?

在检查之前,您必须先从文本字段中阅读它们!

username = userET.getText().toString();
password = passwordET.getText().toString();

<强>更新

你现在比较TextViews与id / pw。不要这样做。您想要比较TextViews中的Text,而不是TextViews本身:

String InputUsername = userET.getText()
String InputPassword = passwordET.getText()

然后将这些值与预定义值进行比较。

答案 2 :(得分:0)

在比较前添加此内容

username = userET.getText().toString();
password = passwordET.getText().toString();

答案 3 :(得分:0)

您尚未为变量'username'和'password'指定值。加上这个:

username = userET.getText().toString();
password = passwordET.getText().toString();
在try / catch块之前