【问题标题】:Checkbox not setChecked not smoothly复选框未设置检查不顺利
【发布时间】:2020-10-13 00:22:21
【问题描述】:
我有一个CheckBox,我为它设置了OnCheckedChangeListener,在onCheckedChange 方法中我有大量代码。当我想设置Checkbox.checked 时,它会稍微延迟检查。我希望它在onCheckedChange 方法中使用post 和runnable 设置检查平滑,没有延迟,但它没有改变。
【问题讨论】:
标签:
android
checkbox
android-checkbox
smoothing
【解决方案1】:
尝试使用线程,我认为它会有所帮助
new Thread(new Runnable() {
public void run(){
// Your heavy code
}
}).start();
【解决方案2】:
您可以使用 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;
}
}
});
【解决方案3】:
在 View 上的帖子和帖子没有帮助,但 postDelayed 帮助了我
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
final int id = buttonView.getId();
buttonView.postDelayed(new Runnable() {
@Override
public void run() {
//hard code
}
}
},400);
}