我有代码,其中36个微调器初始化为一些默认值。
在初始化所有这些之前,我设置了一个名为listen to false的值。 在初始化所有这些之后,我将其设置为true。
在onItemSelected中,如果listen为true,我正在执行代码。
我已经彻底分析了我的代码并发现onItemSelected在设置微调器之后被调用了很多。 实际上,它是在显示整个视图后调用的。
设置微调器和调用onItemSelected之间似乎已经过了一段时间。不是立即打电话吗?
我该如何解决这个问题?
答案 0 :(得分:0)
您的代码运行了spinner-elements的初始化过程,设置了listen = true
,您点击了,视图的其余部分正在初始化,然后您的onItemSelected
被调用?
这是因为click事件将存储在一个队列中,直到MainThread
没有其他任何东西,但他仍然坚持初始化其他视图元素,如果已经完成,则首先返回。 / p>
为什么整个视图的init-process需要这么长时间?如果是因为IO(网络/数据库),你应该阅读有关Loader-Pattern的内容。