繁体   English   中英

Android切换按钮更改状态

[英]Android togglebutton change state

这是我的代码:

tglSwitch.setOnCheckedChangeListener(new  OnCheckedChangeListener() {

        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
             int  t= isChecked ? 1 : 0;                  
             Log.i("t",t);
    }
}

当用户选中或取消选中切换按钮时,以上代码将运行,并且当我也使用此代码时。

tglSwitch.setChecked(true);

仅在用户执行时,如何才能检测到OnCheckedChangeListener()?

您应该使用一个单独的变量来跟踪它

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;
}

这样,您可以确定谁实际检查了变量(是否检查系统)。 您也可以将变量设置为一个变量,并将其用于系统更改为-1或用户更改为1。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM