以下代码用于切换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
”? “真实”(同时它被理解为用户输入)
答案 0 :(得分:1)
这就是答案: @hellohello该构造称为匿名类。您的代码不会调用OnCheckedChanged,只有当用户与复选框进行交互时,才会通过Android内部代码调用它。 - Christian Strempfer
非常感谢其他评论