245

プログラムで EditText の入力タイプを設定するにはどうすればよいですか? 私はしようとしています:

mEdit.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);

効果はないようです。

4

16 に答える 16

432

EditText の入力タイプをプログラムで設定するには、入力クラスのタイプがテキストであることを指定する必要があります。

editPass.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
于 2011-04-27T06:55:12.730 に答える
224

TextView docsによると、android:password のプログラム版はsetInputType() ではなくsetTransformationMethod( ) です。次のようなものです:

mEdit.setTransformationMethod(PasswordTransformationMethod.getInstance());

トリックを行う必要があります。

于 2010-04-06T20:37:25.360 に答える
35

私はすべてを解決しました

.setInputType(InputType.TYPE_CLASS_NUMBER);

明確なデータを表示し、

.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD);

ドットを参照してください(データが数値の場合、他のクラスを選択することはできません)

于 2013-07-04T15:46:07.453 に答える
18

数字のみを許可するには:

password1.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_CLASS_NUMBER);

パスワードを変換 (非表示) するには:

password1.setTransformationMethod(PasswordTransformationMethod.getInstance());
于 2013-05-24T18:23:58.777 に答える
8
editText.setInputType(EditorInfo.TYPE_CLASS_NUMBER);

//必要に応じて TYPE_... を変更できます。

于 2015-01-22T05:34:28.480 に答える
4

パスワードを再表示するには:

editText.setInputType(
      InputType.TYPE_CLASS_TEXT|
      InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
);

パスワードを再度非表示にするには:

editText.setTransformationMethod(PasswordTransformationMethod.getInstance());
于 2019-04-19T18:21:35.510 に答える
0

これをレイアウトの EditText/TextView タグに追加してみてください

android:password="true"

編集:あなたの投稿を読み直したところです。おそらく、構築後にこれを行う必要があります。あなたのスニペットが機能しない理由がわかりません。

于 2010-04-06T16:23:05.160 に答える
0
field.setInputType(InputType.TYPE_CLASS_TEXT);
于 2019-11-22T15:27:16.573 に答える
0

私の答えは、質問に対する直接の答えではありません。ほとんどの場合、上記の答えのいずれかが正しいはずです。しかし、私の場合はどれも役に立ちませんでした。

私のプロジェクトには、タイトルのテキストと EditText を含むカスタム ViewGroup があります。この EditText は、テキスト、数字、パスワード、電話などを受け取ります。使用されるケースと場所によって異なります。ビューグループの呼び出し元は、入力タイプが何であるかを伝えるはずです。

重要: inputType の設定は、EditText の最後のセットにする必要があります (または、少なくとも EditText のテキストを設定した後に設定する必要があります)。それ以外の場合は、効果がありません。

ここに画像の説明を入力

于 2021-08-06T19:39:16.617 に答える