OnItemSelectedListener调用屏幕旋转
当我在Android中更改屏幕的方向时,将调用一个来自Spinner的OnItemSelectedListener。OnItemSelectedListener调用屏幕旋转
它不只是模拟器,它也发生在物理电话上。
我该如何阻止这种情况发生?
干杯。
纺纱器总是被选中。当Spinner
的状态发生变化时(包括Spinner
第一次设置时),将调用您的OnItemSelectedListener
。正常的方向更改会导致您的活动被破坏并重新创建。因此,如果您的活动首次出现在屏幕上时正在调用您的OnItemSelectedListener
,则在方向改变时将再次调用它。
我该如何阻止这种情况发生?
你也许可以玩弄,当你调用setOnItemSelectedListener()
相比setAdapter()
,时机,看看是否有帮助。
中的活动生命周期章节好的感谢信息,这是有道理的。我该如何玩弄时间?我是Android的新手,所以请使用简单的文字;) – Entropy1024 2010-11-20 20:24:54
@ Entropy1024:更改Java语句的顺序。 – CommonsWare 2010-11-20 20:35:02
如果旋转屏幕旋转时微调器的selectedItemPosition不为零,您也将获得第二个调用,因为Android将位置设置为旋转前的位置。使用onSaveInstanceState来计算非零位置中的旋钮的数量并使用此计数,以便OnItemSelected代码刚刚返回,直到计数减少为零。
您还需要非常小心的可以看到View.GONE的旋钮。当我可以找到时间来描述如何处理这些问题时,我会在这里添加更多的文本。
您能否请您写下为什么您应该注意可以具有View.GONE可见性的旋钮。提前致谢 – 2015-09-11 17:07:04
旋转设备时会重新创建该活动。你需要处理这个,而不是停止发生。阅读http://developer.android.com/guide/topics/fundamentals.html#actlife – Pentium10 2010-11-20 20:10:14