Android-重新选择微调器项时如何调用onNavigationItemSelected

Android-重新选择微调器项时如何调用onNavigationItemSelected,android,android-actionbar,spinner,Android,Android Actionbar,Spinner,我正在使用操作栏中的微调器进行导航。问题是,当所选项目与以前选择的项目相同时,不会调用onNavigationItemSelected。 我已经研究过类似的问题 但它们都没有提供有效的解决方案,具体到操作栏中所需的下拉导航 我正在使用以下代码: public class TestSpinner extends Activity implements ActionBar.OnNavigationListener { private Integer mPosition; @Ov

我正在使用操作栏中的微调器进行导航。问题是,当所选项目与以前选择的项目相同时,不会调用onNavigationItemSelected。 我已经研究过类似的问题 但它们都没有提供有效的解决方案,具体到操作栏中所需的下拉导航

我正在使用以下代码:

public class TestSpinner extends Activity implements
ActionBar.OnNavigationListener {  

private Integer mPosition;       

@Override
protected void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);

    final ActionBar actionBar = getActionBar();  
    final String[] EventTypes = getResources().getStringArray(    
            R.array.spinner_items);

    mPosition = -1;

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(                
            actionBar.getThemedContext(),  
            android.R.layout.simple_spinner_item, android.R.id.text1,               
            EventTypes);

    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    actionBar.setListNavigationCallbacks(adapter, this);
    actionBar.setDisplayHomeAsUpEnabled(true);   
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
注意,我使用mPosition标志来阻止onNavigationItemSelected在首次创建操作栏时执行代码。 我想知道是否有一种更优雅的推荐方式


但是,关键问题是,当重新选择操作栏中的同一微调器项时,如何生成对onNavigationItemSelected的回调?

@Sam-我的代码与您建议的操作栏示例的工作方式相同(我已经对其进行了测试)。但是,您完全忽略了我问题的关键点:actionBar示例代码有完全相同的问题:当重新选择Action Bar中的同一微调器项时,它不会生成对onNavigationItemSelected的回调。你对如何解决这个问题还有什么建议吗?
@Override
public boolean onNavigationItemSelected(int position, long id) {

    if (mPosition > -1) {               
        mPosition = position;
            // execute required code on spinner item selection  

        return true;

    } else {
        mPosition = 0;
        return false;   
    }
}