プログラムで EditText の入力タイプを設定するにはどうすればよいですか? 私はしようとしています:
mEdit.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
効果はないようです。
プログラムで EditText の入力タイプを設定するにはどうすればよいですか? 私はしようとしています:
mEdit.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
効果はないようです。
EditText の入力タイプをプログラムで設定するには、入力クラスのタイプがテキストであることを指定する必要があります。
editPass.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
TextView docsによると、android:password のプログラム版はsetInputType() ではなくsetTransformationMethod( ) です。次のようなものです:
mEdit.setTransformationMethod(PasswordTransformationMethod.getInstance());
トリックを行う必要があります。
私はすべてを解決しました
.setInputType(InputType.TYPE_CLASS_NUMBER);
明確なデータを表示し、
.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD);
ドットを参照してください(データが数値の場合、他のクラスを選択することはできません)
数字のみを許可するには:
password1.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_CLASS_NUMBER);
パスワードを変換 (非表示) するには:
password1.setTransformationMethod(PasswordTransformationMethod.getInstance());
editText.setInputType(EditorInfo.TYPE_CLASS_NUMBER);
//必要に応じて TYPE_... を変更できます。
パスワードを再表示するには:
editText.setInputType(
InputType.TYPE_CLASS_TEXT|
InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
);
パスワードを再度非表示にするには:
editText.setTransformationMethod(PasswordTransformationMethod.getInstance());
これをレイアウトの EditText/TextView タグに追加してみてください
android:password="true"
編集:あなたの投稿を読み直したところです。おそらく、構築後にこれを行う必要があります。あなたのスニペットが機能しない理由がわかりません。
field.setInputType(InputType.TYPE_CLASS_TEXT);
私の答えは、質問に対する直接の答えではありません。ほとんどの場合、上記の答えのいずれかが正しいはずです。しかし、私の場合はどれも役に立ちませんでした。
私のプロジェクトには、タイトルのテキストと EditText を含むカスタム ViewGroup があります。この EditText は、テキスト、数字、パスワード、電話などを受け取ります。使用されるケースと場所によって異なります。ビューグループの呼び出し元は、入力タイプが何であるかを伝えるはずです。
重要: inputType の設定は、EditText の最後のセットにする必要があります (または、少なくとも EditText のテキストを設定した後に設定する必要があります)。それ以外の場合は、効果がありません。