EditTextで、inputTypeでnumberを指定するとtextPasswordが無効になる件


パスワードを入力させるEditTextで、「入力した文字を隠す」ためには、inputTypeでこう指定します。

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="textPassword" />

入力する文字を「数字のみ」にしたい場合はこう指定します。

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="number" />

では、「数字のみ入力、かつ文字を隠す」という風にさせたい場合にこうします。

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="textPassword|number" />

すると、なぜか文字が隠れません。無効になってしまいます。

原因はわかりませんが、対処法としてはこう指定してください。

<EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:password="true"
    android:inputType="number" />

ちゃんと「数字のみ、かつ文字を隠す」EditTextになりました!!

カテゴリー: Android, Java, XML, プログラム

コメントを残す

メールアドレスが公開されることはありません。