我正在尝试使用json向服务器发送值,我正在尝试的是当我选择复选框时我想发送“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");
}
答案 0 :(得分:1)
您可以使用OnCheckedChangeListener
proactives.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// change your tag here
}
});
答案 1 :(得分:1)
使用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
}
}
);
答案 2 :(得分:1)
在布局文件中提供onclick
<CheckBox
android:id="@+id/edt_proactive"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="itemClicked" />
在您的活动中执行此操作
public void itemClicked(View v) {
if (((CheckBox) v).isChecked()) {
proactives.setTag("Y");
}else{
proactives.setTag("N");
}
答案 3 :(得分:1)
试试这个
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");
}
}
});
OR
proactives.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
proactives.setTag(b? "Y" : "N");
}
});
答案 4 :(得分:0)
更快的方式:P
proactives=(CheckBox)findViewById(R.id.edt_proactive);
proactives.setTag(proactives.isChecked() ? "Y" : "N");
编辑:并使用OnCheckedChangeListener
作为上述答案提及