onItemSelected被叫迟到了

时间:2014-02-09 22:44:31

标签: android spinner

我有代码,其中36个微调器初始化为一些默认值。

在初始化所有这些之前,我设置了一个名为listen to false的值。 在初始化所有这些之后,我将其设置为true。

在onItemSelected中,如果listen为true,我正在执行代码。

我已经彻底分析了我的代码并发现onItemSelected在设置微调器之后被调用了很多。 实际上,它是在显示整个视图后调用的。

设置微调器和调用onItemSelected之间似乎已经过了一段时间。不是立即打电话吗?

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您的代码运行了spinner-elements的初始化过程,设置了listen = true,您点击了,视图的其余部分正在初始化,然后您的onItemSelected被调用?

这是因为click事件将存储在一个队列中,直到MainThread没有其他任何东西,但他仍然坚持初始化其他视图元素,如果已经完成,则首先返回。 / p>

为什么整个视图的init-process需要这么长时间?如果是因为IO(网络/数据库),你应该阅读有关Loader-Pattern的内容。