我有一个CheckBox
我为它设置OnCheckedChangeListener
,而onCheckedChange
方法我有很重的代码。当我想设置Checkbox.checked
时,会稍微检查一下。我希望它设置检查顺利,没有延迟我在onCheckedChange
方法中使用post和runnable但它没有被更改。
答案 0 :(得分:0)
尝试使用线程,我认为它会帮助
new Thread(new Runnable() {
public void run(){
// Your heavy code
}
}).start();
答案 1 :(得分:0)
您可以使用 setOnClickListener ,在 onClick 方法中编写代码。 要获取复选框的状态,可以使用 isChecked()方法返回布尔值。
c.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean checked = ((CheckBox) v).isChecked();
switch (v.getId()) {
case R.id.checkboxid:
if (checked) {
//true case
} else {
//false case
}
break;
}
}
});
答案 2 :(得分:0)
View上的帖子和帖子没有帮助,但postDelayed帮助了我
@覆盖 public void onCheckedChanged(CompoundButton buttonView,boolean isChecked){ final int id = buttonView.getId();
buttonView.postDelayed(new Runnable() {
@Override
public void run() {
//hard code
}
}
},400);
}