ユーザーが EditBox を離れるまでパスワードを非難読化し、その後難読化するにはどうすればよいですか? ユーザーがパスワードを入力しているときにパスワードを表示できるようにしたいのですが、入力が完了して他のフィールドに移動するとすぐに難読化します。
質問する
127 次
2 に答える
2
PasswordTransformationManager
クラスとを使用してこれを行うことができますOnFocusChangedListener
。これを試して:
myEditText.setOnFocusChangeListener(new View.OnFocusChangeListener()
{
@Override
public void onFocusChange(View view, boolean focused)
{
if(focused)
((EditText)view).setTransformationMethod(null);
else
((EditText)view).setTransformationMethod(PasswordTransformationMethod.getInstance());
}
});
これは基本的に xml 属性の設定と同じですandroid:password="true"
が、EditText にフォーカスがない場合のみです。
于 2012-07-06T19:16:38.487 に答える
2
Android にはこれを行うための機能が組み込まれているとは思いませんが、TextView をサブクラス化し、onFocusChanged メソッドの文字を変更することで、おそらく非常に簡単に行うことができます。パスワード文字を変数に保存し、ウィンドウがフォーカスを失ったときにそれらをドットに置き換えます。フォーカスが得られたら、ドットを取り除き、文字を元に戻します。
于 2012-07-06T19:01:01.617 に答える