我不明白CheckBox单击新模式的模式

时间:2016-12-31 21:19:50

标签: java android listener oncheckedchanged

以下代码用于切换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的CheckBox,我点击它后立即设置一个侦听器,以便(un)切换CheckBox,如果没有Checked,则获取passwordEditText不显示为字符,如果已检查密码将显示为字符。如果我误解了我的想法,请纠正我。

我不明白这段代码的模式,isChecked等于的应用程序如何理解应该是新变量(?)的参数“isChecked”? “真实”(同时它被理解为用户输入)

1 个答案:

答案 0 :(得分:1)

这就是答案: @hellohello该构造称为匿名类。您的代码不会调用OnCheckedChanged,只有当用户与复选框进行交互时,才会通过Android内部代码调用它。 - Christian Strempfer

非常感谢其他评论