Подтвердить что ты не робот

Edittext установлен для пароля с вводом номера телефона? (Андроид)

Как мне получить Edittext как с телефонным вводом, так и с возможностью скрыть строку. Я знаю, что

android:inputType="textPassword"

скрывает строку, а

android:inputType="phone"

выводит интерфейс с клавиатурой.

Как совместить два?

4b9b3361

Ответ 1

android:password устарел, но AFAIK - единственный способ, потому что android:inputType="phone|textPassword" игнорируется...

<EditText
    android:id="@+id/EditText01"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:password="true"
    android:inputType="phone" />

Ответ 2

Я считаю, что это то, что вы хотите?

android:inputType="numberPassword"

Изменить: во время вопроса (2010) это, возможно, не было в API, но для современного развития оно доступно.

Ответ 3

Я не нашел подходящего решения этой проблемы. Решение, принятое dtmilano, не полностью работает. Если EditText сфокусирован в ландшафтном режиме, где у вас полноэкранная клавиатура, номера по-прежнему отображаются в виде чистого текста, а не в масках.

Я потратил значительное время на фактический код TextView, и причина этого в том, что они явно проверяют InputType на InputType.TYPE_CLASS_TEXT и, если я правильно помню, TYPE_MASK_CLASS. Поэтому, если вы включаете какой-либо другой тип InputType в эти границы (я думаю, что диапазон, используемый TYPE_CLASS_TEXT и TYPE_MASK_CLASS, является первым байтом), тогда он не будет распознаваться как пароль, который нуждается в маскировке.

Я знаю, что я сказал, довольно запутанно. Фактический код LOT более запутан. Честно говоря, я был очень потрясен кодом TextView. Это запутанный беспорядок, с жестко закодированными проверками повсюду. Ужасная практика кодирования, которая приводит к таким проблемам.

Ответ 4

Эта проблема может быть решена без использования устаревшего android:password. См. Мой ответ здесь.

Ответ 5

Я не пробовал это, но было бы возможно совместить их так:

android:inputType="textPassword|phone"

поскольку inputType может принимать несколько значений.