我有一个活动中的两个微调框,PagedData<any>
和aSpinner
。第二个微调器的内容取决于第一个微调器的选择。当前,onItemSelected方法基于第一个微调器为第二个微调器设置适配器。
bSpinner
我想以编程方式在这两个微调器上选择选项。
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
if (parent == aSpinner) {
buildAdapterForSpinner(bSpinner, getSpinnerOptions(pos));
// Do something
} else if (parent == bSpinner) {
// Do something
}
}
第一个选择效果很好,但是第二个选择没有效果。但是,如果我在第二个选择之前引入了50ms的延迟,那么一切都会按照我希望的方式运行。
@Override
public void onCreate(Bundle savedInstanceState) {
...
aSpinner.setSelection(1, true);
bSpinner.setSelection(1, true);
}
我怀疑第一个微调器选择后没有立即调用onItemSelected,因此第二个微调器没有适配器并且无法进行选择。
使用这样的硬编码延迟似乎很麻烦。对于我来说,是否有更好的方法可以同时进行这两个选择?