Java 我不知道';我不理解使用新参数单击复选框的模式
以下代码用于切换Java 我不知道';我不理解使用新参数单击复选框的模式,java,android,listener,oncheckedchanged,Java,Android,Listener,Oncheckedchanged,以下代码用于切换复选框,以使用户能够查看其密码: passwordCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (!isChecked) {
复选框
,以使用户能够查看其密码:
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”(同时它被理解为用户输入)这是答案:
@hellohello该构造称为匿名类。一旦您的代码没有调用checkedchanged,只有当用户与复选框交互时,Android内部代码才会调用它克里斯汀·斯特伦费尔
谢谢你的其他评论
isChecked
是一个参数,当check listener被激发时,操作系统会提供这个参数,它是否更清晰?你能给我提供一个源链接(或解释)让我更好地理解吗?我不确定我是否在关注你的问题。这是构造!是否检查您不明白?这只是isChecked!=true
我不明白的是,例如:private void example(inta,intb){//TODO}a和b都是参数内的变量,那么我如何使用它来知道用户输入了什么?类似地,isChecked与(在本例中)a和b相同,因此我无法检查用户是如何切换复选框的,因此我如何在代码中使用它,并且它工作得很好?这就是为什么我要求解释isChecked as variable in parameter抱歉,我仍然不理解:)当用户与复选框(ui元素)交互时,Android(操作系统)将使用复选框的当前状态调用您的代码,参数isChecked
设置为当前状态并传递给您