0

onCreate()我使用setOnItemSelectedListener()一个微调器。然后在onResume()我调用setSelection()同一个微调器。发生的情况是侦听器被调用,但事件不是我预期发生的顺序。如果我的代码如下所示:

sp1.setOnItemSelectedListener(...
    @Override
    public void onItemSelected(){...

        Log.e("marker", "stage 2");
    ...}
...});

Log.e("marker", "stage 1");
sp1.setSelection(1, true);
Log.e("marker", "stage 3");

在 LogCat 中,事件按以下顺序发生:stage1,stage3,然后是 stage 2。显然,我希望它是 stage1,stage2,然后是 stage3。我该如何做到这一点?

4

1 回答 1

0

如果你真的需要这个,那么你可以在调用之前删除监听器,然后直接调用setSelection()onItemSelected()这是一个丑陋但简单的解决方案)

于 2013-06-22T08:04:08.587 回答