我已在EditText
中以编程方式创建了AlertDialog
,但无法将其输入类型更改为密码。以下是我的代码,
AlertDialog.Builder alert = new AlertDialog.Builder(this);
final EditText edittext = new EditText(ChildMainScreen.this);
edittext.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
edittext.setSingleLine(true);
alert.setMessage("Please enter password to continue");
alert.setView(edittext);
alert.show();
我也试过了,
edittext.setRawInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
和
edittext.setTransformationMethod(PasswordTransformationMethod.getInstance());
但没有运气。
Android版本是7(牛轧糖)
答案 0 :(得分:1)
只需将edittext.setSingleLine(true);
替换为edittext.setMaxLines(1);
AlertDialog.Builder alert = new AlertDialog.Builder(this);
final EditText edittext = new EditText(ChildMainScreen.this);
edittext.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
edittext.setMaxLines(1);
alert.setMessage("Please enter password to continue");
alert.setView(edittext);
alert.show();
答案 1 :(得分:0)
试试这个 - :
edittext.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);`
而不是 - :
edittext.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
答案 2 :(得分:0)
你需要写下这个:
editText.setRawInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
答案 3 :(得分:0)
试试这个: -
同时尝试两件事
AlertDialog.Builder alert = new AlertDialog.Builder(this);
final EditText edittext = new EditText(ChildMainScreen.this);
edittext.setRawInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
edittext.setSingleLine(true);
edittext.setTransformationMethod(PasswordTransformationMethod.getInstance());
alert.setMessage("Please enter password to continue");
alert.setView(edittext);
alert.show();
<强>输出:强>
答案 4 :(得分:0)
您可以尝试以下方法获取密码作为输入
AlertDialog.Builder alert = new AlertDialog.Builder(getActivity());
final EditText edittext = new EditText(getActivity());
edittext.setRawInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD );
edittext.setSingleLine(true);
edittext.setTransformationMethod(PasswordTransformationMethod.getInstance());
alert.setMessage("Please enter password to continue");
alert.setView(edittext);
alert.show();
根据文档
TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
正在输入密码,应该是
*对用户可见。
TYPE_TEXT_VARIATION_PASSWORD
正在输入密码。
答案 5 :(得分:0)
首先在清单
中添加此内容<activity
android:name=".YourActivity"
android:windowSoftInputMode="adjustPan|stateAlwaysHidden" />
并强>
AlertDialog.Builder alert = new AlertDialog.Builder(this);
final EditText edittext = new EditText(ChildMainScreen.this);
edittext.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
edittext.setSingleLine(true);
edittext.setMaxLines(1);
alert.setMessage("Please enter password to continue");
alert.setView(edittext);
alert.show();
然后检查它是否为您提供所需的行为