onGeoQueryReady时将notifyDataSetChanged调整为适配器的条件

时间:2016-09-19 19:24:32

标签: android firebase firebase-realtime-database geofire

关于处理geoQueries和适配器时的正确方法的一个小问题。

我在GeoQuery数据库中有一个用户键列表(显然有坐标),我想在ListView进入某个范围时将它们显示在ListView中。

这是一些代码。

Error:(52, 30) java: [method.guarantee.violated] @ReleasesNoLocks method proc() calls method unfree() with a weaker @MayReleaseLocks side effect guarantee

实际上,这是有效的,但是,当然,每次将其添加到列表中的条目时,它都会通知适配器的更改。所以它对性能不利。

有关此问题的明智方法的任何建议吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

典型的方法是保留待处理项目的数量。因此,每次获得新密钥时,都会增加计数器。每次获得相应的数据,您都会减少。一旦计数器为0 onGeoQueryReady被解雇,您就知道已经获得了所有初始项目。