我不明白使用新参数单击 CheckBox 的模式
I don't understand the pattern of CheckBox click with the new parameter
以下代码用于切换 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,我会在单击它时立即为 CheckBox 设置一个侦听器,以便(取消)切换 CheckBox,如果它没有被选中, passwordEditText 不会显示为字符,如果选中,密码将显示为字符。如果我的假设有误,请指正。
我不明白这段代码的模式,参数“isChecked
”应该是一个新变量(?)如何被isChecked
所在的应用程序理解等于"True"(同时理解为用户输入)
这是答案:
@hellohello 该构造称为匿名 class。 OnCheckedChanged 不会被您的代码调用,只有当用户与复选框交互时才会被 Android 内部代码调用。 – 克里斯蒂安·斯特伦普弗
非常感谢其他评论
以下代码用于切换 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,我会在单击它时立即为 CheckBox 设置一个侦听器,以便(取消)切换 CheckBox,如果它没有被选中, passwordEditText 不会显示为字符,如果选中,密码将显示为字符。如果我的假设有误,请指正。
我不明白这段代码的模式,参数“isChecked
”应该是一个新变量(?)如何被isChecked
所在的应用程序理解等于"True"(同时理解为用户输入)
这是答案: @hellohello 该构造称为匿名 class。 OnCheckedChanged 不会被您的代码调用,只有当用户与复选框交互时才会被 Android 内部代码调用。 – 克里斯蒂安·斯特伦普弗
非常感谢其他评论