[英]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))
[...]
您從哪里獲取username
和password
的值?
您必須先從文本字段中閱讀它們,然后再進行檢查!
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.