Android 等待微调器刷新

Android 等待微调器刷新,android,spinner,Android,Spinner,我有一种有3个旋转器的形状。2个微调器(minorSpinner)的内容取决于第一个微调器(mainSpinner)的选择。更准确地说,我在主微调器的选定侦听器中设置了这两个minorSpinner的内容 可以保存表单并重新加载 问题是: 当我尝试加载表单时,首先设置主微调器,然后设置微调器 比如: 不幸的是,小矮人队没有及时准备好。可能是因为它们的值是在UI线程中设置的 问题: 如何等到他们准备好 我尝试的是: runOnUIThread(){ mainSpinner.setSelection

我有一种有3个旋转器的形状。2个微调器(minorSpinner)的内容取决于第一个微调器(mainSpinner)的选择。更准确地说,我在主微调器的选定侦听器中设置了这两个minorSpinner的内容

可以保存表单并重新加载

问题是: 当我尝试加载表单时,首先设置主微调器,然后设置微调器

比如:

不幸的是,小矮人队没有及时准备好。可能是因为它们的值是在UI线程中设置的

问题:

如何等到他们准备好

我尝试的是:

runOnUIThread(){
mainSpinner.setSelection(value);
minorSpinner1.setSelection(value1);
minorSpinner2.setSelection(value2);
}
但ti不起作用:(

有什么想法吗

如何等到他们准备好

因此,我的第一个想法是为所有微调器注册
OnItemSelectedListener()

然后创建两个布尔变量,例如IsSpinnerSelected、isSpinnerTwoSelected,当您从微调器中选择项时,将变量赋值为true

然后创建一些
线程(使用Handler)来控制您的状态。如果两个变量都指定为true,只需使用第三个微调器执行操作

如果您不知道如何使用处理程序,请查看:


hm,那么处理程序线程应该监视mainSpinenr是否更改?我不明白为什么它会有帮助。无论如何,我只是意识到我已经在UI线程中完成了所有这些工作,所以runOnUIThread是不必要的:)@如果你想要实时控制或侦听器,你需要使用线程。
runOnUIThread(){
mainSpinner.setSelection(value);
minorSpinner1.setSelection(value1);
minorSpinner2.setSelection(value2);
}