在我的应用程序中,我有两个按钮,使用事件总线(Otto)发送带有ID的事件。根据此ID,应用程序将转到不同片段之间的不同导航级别。当用户在同一毫秒点击两个不同的按钮时,可以避免事件总线在相同的毫秒内发送相同的事件(具有不同的ID)。我附上一张图片以显示我的Logcat。
谢谢!
编辑1:
使用同步的onClick方法作为订阅方法,我继续以相同的毫秒接收事件。现在,关于“同步”的神话对我来说已经失败了。 O_O
有些帖子可以解释如何避免非常快速的点击,但是在这里,点击次数是相同的毫秒......很少见,但是你可以看到日志。
答案 0 :(得分:0)
是的,将 synchronized 关键字与生成事件的方法(或者使用接收事件的方法)一起使用。
例如:
public synchronized void genEvent(){
}
参见以下相关链接
https://docs.oracle.com/javase/tutorial/essential/concurrency/syncmeth.html
When to use synchronized in Java
Is there an advantage to use a Synchronized Method instead of a Synchronized Block?