[英]Android togglebutton change state
this is my code: 这是我的代码:
tglSwitch.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
int t= isChecked ? 1 : 0;
Log.i("t",t);
}
}
when the user check or uncheck the togglebutton , the above code will run, and when i use this code too. 当用户选中或取消选中切换按钮时,以上代码将运行,并且当我也使用此代码时。
tglSwitch.setChecked(true);
how can i detect OnCheckedChangeListener() only when user do it? 仅在用户执行时,如何才能检测到OnCheckedChangeListener()?
You should keep track of it with a separate variable 您应该使用一个单独的变量来跟踪它
int userChecked = 0;
int checked = 0;
tglSwitch.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
int userChecked= isChecked ? 1 : 0;
int checked= isChecked? 1:0;
Log.i("t",userchecked);
}
}
if(userChecked == 0){
tglSwitch.setChecked(true);
checked = 1;}
else {
userChecked = 0;
tglSwitch.setChecked(true);
checked = 1;
}
That way you can determine who actually checked the variable (system or not). 这样,您可以确定谁实际检查了变量(是否检查系统)。 You could also set the variable to one variable and use it -1 for system changed or 1 for user changed.
您也可以将变量设置为一个变量,并将其用于系统更改为-1或用户更改为1。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.