我在我的自定義對話框中有2個editfields,它是從ACtivity調用的,其中1個是「trxtPassword」和其他「text」類型。鍵盤不會出現在「文本」類型的編輯框中,而是出現在「textPassword」編輯文本中,然後不會執行。隱藏鍵盤密碼字段Android
我嘗試以下,但沒有任何工程:
InputMethodManager inputManager = (InputMethodManager)mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
//inputManager.hideSoftInputFromWindow(txt_username.getWindowToken(), 0);
//inputManager.hideSoftInputFromWindow(txt_password.getWindowToken(), 0);
如果我讓txt_password.setInputType(0);那麼其他人可以很容易地看到密碼,這樣就不能使用。
還有什麼可以實現的目標?我沒有套住onLostFocus上的txt
txt_password.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus == false) {
InputMethodManager inputManager = (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(LoginDialog.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY);
}
}
});
但不幸的是,一旦進入,如果我點擊任何地方或任何複選框,然後還重點不是從txt_password場丟失。只有當我點擊另一個editText然後onFocusChange事件被觸發並拋出錯誤並且應用程序關閉時,纔會丟失這些信息。
任何想法如何做到這一點?
只是爲了澄清: 是您的目標是,讓使鍵盤不會出現? 或者你是否試圖在完成之後關閉鍵盤? – HaemEternal 2011-04-14 15:28:24
我試圖反駁他的鍵盤,一旦我點擊密碼文本字段外的任何地方。 – Tvd 2011-04-14 15:52:42
用戶在輸入密碼後,是否不適合單擊鍵盤上的「完成」按鈕以關閉鍵盤? (例如setImeOptions(EditorInfo.IME_ACTION_DONE);) – HaemEternal 2011-04-18 08:28:13