我試圖創建一個登錄身份驗證,並且當用戶輸入錯誤的密碼3次。 用戶名和密碼的texboxes將被禁用,我將用戶輸入與我的SQL數據庫中存儲的用戶名和密碼進行比較,以驗證用戶的用戶名和密碼,我該怎麼做?禁用文本框如果用戶輸入錯誤的密碼3次
1
A
回答
0
你應該使用一個變量來保持嘗試次數。然後,當incorrectGuesses等於3:
editText.setFocusable(false)
或
editText.setEditable(false) // Note that this is deprecated but replacement (inputType) has bug
0
設置EditText只讀: 從create方法中存儲對文本框(EditText)的引用,並在需要時調用.setEditable(false)以禁用它們。也許你還會調用setText(「」)來清除用戶輸入的值。
0
沒有與谷歌影響老版本的Android和一些隨機更新的設備提出了relavent問題。
的effecient,可重複使用的,工作的解決方法是如下(假設這是一個Activity
內):
private Static OnClickListener listener;
@Override
public void onCreate(...){
...
listener = new OnClickListener(){ ... };
}
public void disableEditText(EditText t){
t.setOnClickListener(null);
}
public void enableEditText(EditText t){
t.setOnClickListener(listener);
}
爲的setEnabled(假)問題報告不工作: http://code.google.com/p/android/issues/detail?id=2771
0
你應該存儲嘗試次數爲SharedPreferences。一旦這個值達到3,只要做
editText.setEnabled(false);
您也應該檢查這個數的值在你的onCreate或的onResume,就這樣當用戶關閉應用程序,並重新啓動它,在EditText上仍然會被禁用。
在另一個說明中,您可能想要看看只是禁用「確定/登錄」按鈕(我假設您也有),而不是EditText是否更好。
相關問題
- 1. 如何讓用戶在c#中輸入3次密碼?
- 2. 如果用戶名/密碼錯誤3次,如何鎖定按鈕30秒?
- 3. 顯示用戶輸入錯誤密碼的錯誤信息
- 4. 用戶輸入文本框
- 5. 禁用文本框輸入值
- 6. ASP.Net當用戶在文本框中輸入時禁用回發
- 7. 僅當用戶輸入3次錯誤密碼時纔在Django中顯示驗證碼?
- 8. 密碼或用戶名輸入兩次,當用角度輸入時輸入
- 9. Java:while循環輸入用戶名和密碼3次 - 用break語句發出?
- 10. 用戶在文本框中的輸入
- 11. mysql用戶密碼錯誤
- 12. 如果輸入值爲文本則禁用,如果輸入值爲
- 13. 禁止用戶在輸入框的jQuery
- 14. 當用戶輸入錯誤的密碼時,哪個錯誤信息更好?
- 15. 谷歌應用腳本 - 在輸入文本框中輸入密鑰 - 如何捕獲或禁用?
- 16. Processing.org用戶輸入代碼錯誤?
- 17. 角:禁用文本輸入
- 18. 如何禁用輸入類型的文本,如果值=真
- 19. fgets不會讓用戶在凱撒密碼中輸入文本
- 20. 使用戶輸入一個值到文本框一定次數
- 21. 文本框用戶輸入限制
- 22. jQuery文本框用戶輸入長度
- 23. 如果用戶名或密碼錯誤,如何創建消息框?
- 24. IE 8輸入類型文本/密碼錯誤
- 25. 我想開始一個活動,如果輸入兩次「編輯文本」密碼。如果密碼輸入兩次活動應該打開
- 26. 如何在IE中禁用文件輸入文本框?
- 27. 禁用按鈕,直到密碼/輸入訪問密碼(PHP)
- 28. 如果輸入了錯誤的數據類型,請通知用戶(Python 3)
- 29. 奇怪的輸入文本和輸入密碼擦除默認輸入密碼
- 30. 輸入框消失如果有錯誤
第一個問題:它何時會再次啓用?你可以簡單地通過setEnabled(布爾值)禁用/啓用EditText; – josephus 2012-03-06 01:39:44
@JosephusVillarey在用戶成功登錄後不會再次啓用,只是想在用戶輸入錯誤密碼或用戶名3次後禁用文本框。 – user1222493 2012-03-06 01:45:17
但是當文本框被禁用時,用戶如何能夠成功登錄?我們在同一條船上嗎? – josephus 2012-03-06 07:27:07