开关 setOnCheckedChangeListener 无法正常工作
Switch setOnCheckedChangeListener not working properly
我有一个名为 aSwitch 的 Switch。我的 setOnCheckedChangeListener 中有以下代码:
aSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (!compoundButton.isSelected()) {
Log.i("Yeah" , "Is Not Selected");
invertLock(-1);
}
else {
if (Utilities.isLockEnabled(context)) {
Log.i("Yeah" , "Is Locked");
Utilities.showLockEnabled(context);
}
else {
Log.i("Yeah" , "Is Not Locked");
invertLock(1);
}
}
}
});
Switch的第一个状态总是selected=false。当我点击开关时,它被选中=true,我的 Logcat 显示
I/Yeah: Is Not Selected
然后当开关选择=true,然后关闭,我的Logcat再次显示
I/Yeah: Is Not Selected
我的代码有问题吗?请帮帮我。
谢谢。
使用 compoundButton.isChecked
而不是 isSelected
。
试试这个代码
aSwitch.setOnCheckedChangeListener(new
CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (!b) {
Log.i("Yeah" , "Is Not Selected");
invertLock(-1);
}
else {
if (Utilities.isLockEnabled(context)) {
Log.i("Yeah" , "Is Locked");
Utilities.showLockEnabled(context);
}
else {
Log.i("Yeah" , "Is Not Locked");
invertLock(1);
}
}
}
});
我有一个名为 aSwitch 的 Switch。我的 setOnCheckedChangeListener 中有以下代码:
aSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (!compoundButton.isSelected()) {
Log.i("Yeah" , "Is Not Selected");
invertLock(-1);
}
else {
if (Utilities.isLockEnabled(context)) {
Log.i("Yeah" , "Is Locked");
Utilities.showLockEnabled(context);
}
else {
Log.i("Yeah" , "Is Not Locked");
invertLock(1);
}
}
}
});
Switch的第一个状态总是selected=false。当我点击开关时,它被选中=true,我的 Logcat 显示
I/Yeah: Is Not Selected
然后当开关选择=true,然后关闭,我的Logcat再次显示
I/Yeah: Is Not Selected
我的代码有问题吗?请帮帮我。
谢谢。
使用 compoundButton.isChecked
而不是 isSelected
。
试试这个代码
aSwitch.setOnCheckedChangeListener(new
CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (!b) {
Log.i("Yeah" , "Is Not Selected");
invertLock(-1);
}
else {
if (Utilities.isLockEnabled(context)) {
Log.i("Yeah" , "Is Locked");
Utilities.showLockEnabled(context);
}
else {
Log.i("Yeah" , "Is Not Locked");
invertLock(1);
}
}
}
});