在我的一个应用程序中,我试图在对话框中输入密码确认。该对话框完全以编程方式构建。我在将输入类型设置为密码时遇到了一些问题,但是它可以正常工作。后来,我只是注意到键盘具有自动建议选项。
AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
builder.setTitle(...);
builder.setIcon(...);
builder.setMessage(...);
builder.setCancelable(false);
EditText etForcePassword = new EditText(mContext);
etForcePassword.setSingleLine();
etForcePassword.setHint(...);
etForcePassword.setImeOptions(EditorInfo.IME_ACTION_DONE);
etForcePassword.setTransformationMethod(PasswordTransformationMethod.getInstance());
etForcePassword.setInputType(EditorInfo.TYPE_TEXT_FLAG_NO_SUGGESTIONS | EditorInfo.TYPE_TEXT_VARIATION_FILTER);
builder.setView(etForcePassword, top, right, bottom, left);
AlertDialog alertDialog = builder.create();
alertDialog.show();`
通过设置
InputType
或仅使用XML配置,我看到了很多解决方案,但是它不适合我的应用程序。提前致谢。
最佳答案
要关闭自动提示,请更改以下行:
etForcePassword.setInputType(EditorInfo.TYPE_TEXT_FLAG_NO_SUGGESTIONS | EditorInfo.TYPE_TEXT_VARIATION_FILTER);
到这行:
etForcePassword.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);