繁体   English   中英

如何使Java延迟执行侦听器任务?

[英]How to make Java perform a listener task with a time delay?

考虑一个Java程序,其中侦听器触发某个功能。 假设用户操作连续多次激活了侦听器。 我的问题是:如何使Java在此触发行中仅执行一次功能,并且仅在侦听器的最后一次激活后经过一定时间,才执行该功能?

我试图在Google和StackExchange上查找一些信息,但是找不到任何提示。

(提供一些背景信息:我正在尝试使用Google Maps API开发一个Android应用,该应用包括从庞大的GPS点数据库中绘制标记/标记簇,只想在当前地图视图中添加这些点。如果用户移动地图时,虽然地图仍在移动,但OnCameraChangeListener被激活了很多次,但是,由于数据库非常庞大,并且为给定的摄像机视图搜索GPS点可能需要一些时间,因此我不想触发该功能它会在地图视图空闲一秒钟之前添加标记。)

您可以简单地保留您在帖子中描述的两个值:
-布尔值isFunctionRunning
-格里高利历日历时间

然后,如果isFunctionRunning => false,并且自timeLastRun> 1秒起的时间,则启动该函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM