1

次のコードを使用しCheckBoxて、ユーザーが自分のパスワードを表示できるように切り替えます。

passwordCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

    @Override 
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

        if (!isChecked) {
            passwordEditText.setInputType(TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_PASSWORD);
            passwordConfirmEditText.setInputType(TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_PASSWORD);
        } else {
            passwordEditText.setInputType(TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
            passwordConfirmEditText.setInputType(TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
        }
    }
});

上記から私が理解していることは次のとおりです。passwordCheckBoxという名前のチェックボックスがあり、チェックボックスをトグル(解除)するために、クリックするとすぐにチェックボックスにリスナーを設定します。チェックされていない場合、passwordEditTextは表示されません文字として、それがチェックされている場合、パスワードは文字として表示されます。私の仮定が間違っている場合は、訂正してください。

このコードのパターンがわかりませんisChecked。新しい変数 (?) であるはずのパラメータ " " が、isChecked"True" に等しいアプリケーションでどのように理解されるのでしょうか (同時に、ユーザー入力)

4

1 に答える 1

1

これが答えです: @hellohello その構造は匿名クラスと呼ばれます。OnCheckedChanged はコードから呼び出されるのではなく、ユーザーがチェックボックスを操作したときにのみ Android 内部コードから呼び出されます。– クリスチャン・ストレンファー

他のコメントをありがとう

于 2017-01-01T11:36:51.233 に答える