我在Switch onCheckedChanged(CompoundButton buttonView, boolean isChecked)
方法中做了大量工作。即我正在进行谷歌地图群集管理(根据值筛选群集项目)。
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// memory heavy stuff starts happening here
}
我的问题是,我希望在Switch完成UI更改(切换+颜色更改)之后发生重要事情。否则UI非常迟钝。 由于我正在处理集群,所以我无法在另一个线程上执行这些繁重的工作,因为集群正在绘制主(UI)线程。
问题:在Switch完成UI上的事情或延迟执行onCheckedChange方法的方法之后,有没有办法让onchackedChange被调用?
答案 0 :(得分:0)
如果您想要更改复选框选择执行某项任务,可以使用
`onCheckedChanged(CompoundButton buttonView,boolean isChecked)
但请记住,每次通过checkbox.setChecked(true)以编程方式更改复选框的状态时都会触发此操作。
我建议你在复选框上使用onClickListener,只有在用户点击按钮时才会收到通知(但这完全取决于你的要求) 如果您想延迟复选框的执行,请以这种方式在处理程序块中编写代码。
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// memory heavy stuff starts happening here
}
},DELAY_IN_MILLISECONDS);