并发调用onCheckedChanged

时间:2019-05-05 04:37:03

标签: android android-checkbox

我有一些复选框具有相同的CompoundButton.OnCheckedChangeListener。

如果onCheckedChanged方法需要花费大量时间才能完成,是否快速连续单击两个复选框会导致两个onCheckedChanged回调方法被交错?

基本上,我想确保如果按此顺序单击复选框A,B和C,则按该顺序执行A,B和C的回调方法,而不会发生交织。

谢谢!

1 个答案:

答案 0 :(得分:0)

  

如果onCheckedChanged方法需要大量时间才能完成

您应该在其他线程或异步任务中执行可能花费更长的时间的操作,否则将阻塞主线程,并且UI可能无法正常工作。

  

快速连续单击两个复选框是否有可能   导致两个onCheckedChanged回调方法被交错

只有在主线程未被第一个回调阻止时,您才能快速连续单击复选框(请参见上文)

  

基本上,我要确保复选框A,B和C是否为   按此顺序单击,则A,B和C的回调方法为   按此顺序执行,没有交错。

如果您遵循我的建议并在后台线程/异步任务中继续工作,那么回调的顺序将是正确的。