2017-08-15 90 views
-1

我有一个recyclerview,并且有一个方法每隔10秒发送一次请求,而不是调用方法来更新recyclerview列表,但也有一种情况是在我更改例如用户详细信息并且请求是发送并且该方法被再次调用以更新列表,我想要一个更新回收视图适配器的方法的调用完成,而不是第二个启动。如何避免在主线程中同时调用该方法?

+0

也许同步? –

+0

这没有帮助,我认为这是两个不同的线程不能同时调用相同的方法 –

+0

@LevönPetrösyan这正是你的问题所在。 – EJP

回答

0

我认为你可以使用可怕的袋熊的答案,这是使用:

公共无效synchronized方法(){...}

的方法只能在准确的叫同时当且仅当多于1个线程调用它。

在你的场景中,很可能是主线程和另一个子线程调用它。

+0

我有一个监听器,它在响应结束时被调用,当我已经有了新的列表并且我将该列表传递给了片段的方法,该方法更新了适配器。 –

0

新的布尔标志,在发送请求之前检查标志。请求发送后更改标志。在UI更新后刷新标志。

的逻辑是这样的: code

+0

但可能是这样的情况,当用户的详细信息发生变化并且必须发送请求时,该标志可能为真,并且不会发送请求。 –

+0

你为什么不用你的答案发布代码,而不是将它放在链接的图像中。 –

相关问题