Android OnNavigationListener调用

Android OnNavigationListener调用,android,listener,Android,Listener,我正在活动操作栏上实现导航模式列表。我的问题是,当我使用setListNavigationCallbacks()在ActionBar上设置OnNavigationListener时 监听器被执行 mActionBar.setListNavigationCallbacks(spinnerAdapter, new ActionBar.OnNavigationListener() { @Override publi

我正在活动操作栏上实现导航模式列表。我的问题是,当我使用setListNavigationCallbacks()在ActionBar上设置OnNavigationListener时 监听器被执行

mActionBar.setListNavigationCallbacks(spinnerAdapter,
            new ActionBar.OnNavigationListener() {
                @Override
                public boolean onNavigationItemSelected(int itemPosition,
                        long itemId) {

                   ...

                }
            }
    );
我认为这是正确的,因为系统调用该侦听器来选择适配器的第一项,但我只想在用户选择列表中的一项时执行此代码,而不是第一次


如何实现这一点?

如果在创建活动时将lastPosition变量初始化为0,则可以将此值与onNavigationItemSelected方法中的itemPosition进行比较。如果值不同,则用户做出了新的选择,如果值相同,则用户选择了相同的项目(或者这是来自正在初始化的列表的调用)