簡體   English   中英

Android登錄:即使輸入正確也無法登錄?

[英]Android Login: Login Failed even with correct input?

因此,我一直試圖在沒有數據庫的情況下執行此簡單的登錄應用程序。 如果輸入與定義的功能相同,則登錄將成功。

按鈕功能正常,但是即使輸入正確的值也無法登錄!

這是代碼

宣言

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

你應該做這個:

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

之前:

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

因為username和password的值為空。

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()

然后將這些值與預定義的值進行比較。

在比較之前添加此

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

您尚未為變量“ username”和“ password”分配值。 添加:

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

在try / catch塊之前。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM