选择一个微调器将更新另一个微调器的适配器。我可以通过编程方式选择两个微调器吗?

时间:2018-10-26 20:21:19

标签: java android spinner android-spinner

我有一个活动中的两个微调框,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,因此第二个微调器没有适配器并且无法进行选择。

使用这样的硬编码延迟似乎很麻烦。对于我来说,是否有更好的方法可以同时进行这两个选择?

0 个答案:

没有答案