Как использовать EditTextPreference как текстовое поле с замаскированным паролем?
У меня очень простой вопрос:
У меня есть диалог EditTextPreference
, который я хочу использовать для получения пароля пользователя, и я хочу, чтобы он был замаскирован.
Как я могу это сделать?
Ответы
Ответ 1
Вот краткий пример с использованием xml:
<EditTextPreference
android:key="@string/key"
android:title="@string/title"
android:summary="@string/summary"
android:inputType="textPassword" />
Или вы можете использовать numberPassword
вместо textPassword
.
Ответ 2
android:inputType="numberPassword"
не работает для меня. Eclipse сказал мне, что для этого атрибута не допускаются значения String.
Поэтому я использовал следующее:
<EditTextPreference
android:key="@string/key"
android:title="@string/title"
android:summary="@string/summary"
android:inputType="number"
android:password="true" />
Это предоставило мне EditTextPreference с пунктиром textdisplay и цифровой клавиатурой для ввода.
Ответ 3
Если вы хотите, чтобы маска пароля сохранялась и после поворота устройства, достаточно добавить следующий imeOption
:
в макете редактирования текста
android:imeOptions="flagNoExtractUi"
или программно
yourEditText.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);