隐藏Android键盘密码字段
|
我的自定义对话框中有2个编辑域,可从ACtivity调用,其中1个是\“ trxtPassword \”,其他是\“ text \”类型。键盘不会出现在\“ text \”类型的编辑框中,而只是出现在\“ textPassword \” edittext上,然后才消失。
我尝试了以下方法,但没有任何效果:
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);然后其他人可以轻松看到密码,因此无法使用。
要实现目标还可以做些什么?我确实在txt上捕获了onLostFocus
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事件并引发错误并且应用程序关闭时,这才丢失。
任何想法如何做到这一点?
没有找到相关结果
已邀请:
1 个回复
坛沤疲撑拆
有一个有用的答案:在外部单击EditText后如何在android上隐藏软键盘?