2

我有一些 Spinner,我根据存储在数据库中的值填充它们。当我垂直握住手机时,它们工作得很好,但是当我开始活动时将其侧向握住(好像是横向查看),它们最终都会选择索引 0。在我的清单中,我将活动设置为始终以纵向显示,无论手机的方向如何,使用android:screenOrientation="portrait".

回复后编辑: <snip>

我为 Spinner 使用我自己的 BaseAdapter 子类,并为它的项目使用我自己的自定义类。我尝试覆盖.equals().hashCode()在我的自定义项目中,但这没有帮助。我还在 Spinner 的onRestoreInstanceState()方法中设置了一个断点,以查看它是否以某种方式涉及,但它没有被调用。

回答后编辑:找到解决方案后,我认为最好删除我之前提供的所有细节。它绝不会帮助将来可能访问此页面的任何人。请参阅下面我自己的问题的答案。

4

1 回答 1

0

与 anthropomo 的讨论让我想起了我在我的自定义适配器类中做一些异步工作,这似乎是罪魁祸首。这是一个比赛条件。我不知道为什么它在纵向握住手机时始终正常工作,而在横向上始终失败,但吸取了教训。永远记住你做异步事情的地方,并首先检查那里。

于 2013-01-29T02:28:41.010 回答