Android 开关 - 如何在调用 onCheckedChangeListener 之前切换 UI 变化
Android Switch - how to toggle UI change before calling onCheckedChangeListener
我正在使用 Switch onCheckedChanged(CompoundButton buttonView, boolean isChecked)
方法做繁重的工作。也就是说,我正在做 Google 地图集群管理(根据值过滤集群项目)。
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// memory heavy stuff starts happening here
}
我的问题是,我希望在 Switch 完成其 UI 更改(切换 + 颜色更改)后发生繁重的事情。否则 UI 会很慢。
因为我正在处理集群,所以我不能在另一个线程上做这些繁重的事情,因为集群正在主 (UI) 线程上绘制。
问题:有没有办法在 Switch 在 UI 上完成它的事情后处理要调用的 onCheckedChange 或延迟 onCheckedChange 方法执行的方法?
如果您想在更改复选框选择时执行某些任务,您可以使用
`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);
我正在使用 Switch onCheckedChanged(CompoundButton buttonView, boolean isChecked)
方法做繁重的工作。也就是说,我正在做 Google 地图集群管理(根据值过滤集群项目)。
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// memory heavy stuff starts happening here
}
我的问题是,我希望在 Switch 完成其 UI 更改(切换 + 颜色更改)后发生繁重的事情。否则 UI 会很慢。 因为我正在处理集群,所以我不能在另一个线程上做这些繁重的事情,因为集群正在主 (UI) 线程上绘制。
问题:有没有办法在 Switch 在 UI 上完成它的事情后处理要调用的 onCheckedChange 或延迟 onCheckedChange 方法执行的方法?
如果您想在更改复选框选择时执行某些任务,您可以使用
`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);