Android上,多個獨立TextView密碼框的輸入


今天碰到一個輸入密碼框的事情,這個密碼框由6個TextView組成。因為它們都有獨立的,所以首先想到的就是單獨輸入每個TextView。

String password = "123456";

首先,想到直接用一個for循環搞定:

char[] passwordChars = password.toCharArray();
for(int i=0;i<6;i++){
passwordTextView.get(i).sendKeys(String.valueOf(passwordChars[i]));//輸入密碼
}

但是,發現執行的時候,總是往第一個TextView里面重復輸入。失敗!

分析是不是因為其他TextView沒有獲取到焦點導致的?

然后,把各個TextView通過ID定位,然后輸入以前先點擊該TextView,參考代碼:

passwordInput1.click();
passwordInput1.sendKeys(String.valueOf(passwordChars[0]));//輸入密碼第一位
passwordInput2.click();
passwordInput2.sendKeys(String.valueOf(passwordChars[1]));//輸入密碼第二位
passwordInput3.click();
passwordInput3.sendKeys(String.valueOf(passwordChars[2]));//輸入密碼第三位
passwordInput4.click();
passwordInput4.sendKeys(String.valueOf(passwordChars[3]));//輸入密碼第四位
passwordInput5.click();
passwordInput5.sendKeys(String.valueOf(passwordChars[4]));//輸入密碼第五位
passwordInput6.click();
passwordInput6.sendKeys(String.valueOf(passwordChars[5]));//輸入密碼第六位
然而,執行結果仍然是重復輸入到第一個TextView。再次失敗!

既然,各個輸入不可以了,那就把它們當作一個普通TextView一起輸入呢?就這么干!
passwordTextViewContainer.sendKeys(password);
這次竟然成功啦!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM