如何使用复选框检查条件?

How to check condition using checkbox?

我正在尝试使用 json 向服务器发送值,我正在尝试的是当我 select 复选框时我想发送 "Y",在我的 json active=Y 是用户激活和停用的状态,以下是我尝试过的代码,但它不起作用,它总是显示 active=N

 proactives=(CheckBox)findViewById(R.id.edt_proactive);
     if(proactives.isChecked()==true)
      {
          proactives.setTag("Y");
      }
      if(proactives.isChecked()==false)
      {
          proactives.setTag("N");
      }

更快的方式 :P

proactives=(CheckBox)findViewById(R.id.edt_proactive);
proactives.setTag(proactives.isChecked() ? "Y" : "N");

编辑:并使用 OnCheckedChangeListener 作为上述答案提到的

你可以使用OnCheckedChangeListener

proactives.setOnCheckedChangeListener(new OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            // change your tag here
        }
    });

使用CompoundButton.OnCheckedChangeListener

proactives.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

       @Override
       public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
           // use isChecked value here to react to state changes on your checkbox
       }
   }
);   

在布局文件中给出onclick

<CheckBox
    android:id="@+id/edt_proactive"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:onClick="itemClicked" />

在你的 activity 中执行此操作

public void itemClicked(View v) {
    if (((CheckBox) v).isChecked()) {
        proactives.setTag("Y");
    }else{
        proactives.setTag("N");
}

试试这个

proactives.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
            if(b)
            {
                proactives.setTag("Y");
            }
            if(proactives.isChecked()==false)
            {
                proactives.setTag("N");
            }
        }
    });

proactives.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
              proactives.setTag(b? "Y" : "N"); 
            }
        });