EditTextでパスワード

ちょっとはまったのでメモ。

自力でごりごりコードを書いてパスワードを入力させるEditTextを作成するとき、ポイントは2点。

1.文字を*で置換する事

2.半角だけ受け付けること、というかIMEの全角モードを切る事

1.は比較的すぐ分かりました。

EditText ed = new EditText(this);

みたいにやったとき、

ed.setTransformationMethod(new PasswordTransformationMethod());

ってやれば、入力した文字が*になります。

ここまではよろしい。

問題は2.です。

ed.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);

ってやれば良さそうな感じなんだけど、ダメ、全然ダメ。

試行錯誤の末、

ed.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD | InputType.TYPE_CLASS_TEXT);

ってやったら、望みの動作になった。

これが正しい方法かと言われると違うような気がするけど、暫定的にこれでいきます。

OpenWnn Plusだけでしか検証してないけど、OpenWnn系なら他のも大丈夫じゃないかな。

もう知らん。

こちらの記事もどうぞ