等到Spinner刷新

时间:2013-08-02 21:04:37

标签: android spinner

我有一种带有3个Spinners的表格。 2个Spinners(minorSpinner)的内容取决于第一个(mainSpinner)的选择。更确切地说,我在mainSpinner的onItemSelected侦听器中设置了这两个minorSpinner的内容。

可以保存表单并重新加载。

问题是: 当我尝试加载表单时,首先我设置mainSpinner然后设置minerSpinners。

像:

mainSpinner.setSelection(value);
minorSpinner1.setSelection(value1);
minorSpinner2.setSelection(value2);

不幸的是,MinorSpinners没有及时准备好。也许是因为它们的值是在UI线程中设置的?

问题:

如何等到他们准备好了?

我尝试了什么:

runOnUIThread(){
mainSpinner.setSelection(value);
minorSpinner1.setSelection(value1);
minorSpinner2.setSelection(value2);
}

但是ti不起作用:(

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

  

如何等到他们准备好了?

所以我的第一个想法是为所有Spinners注册OnItemSelectedListener()

然后创建两个布尔变量,例如isSpinnerOneSelected,isSpinnerTwoSelected,当您从Spinner中选择项目时,将变量赋值为true。

然后创建一些将控制您的状态的Thread(使用Handler)。如果两个变量都分配为true,则只需使用第三个Spinner进行操作。

如果您不知道如何使用Handler,请查看: