Não importa se você definir OnItemSelectedListener em onCreate ou onStart - ainda será chamado durante a criação da atividade ou o início (respectivamente).
Assim, podemos configurá-lo em onCreate (e NÃO em onStart!).
Basta adicionar um sinalizador para descobrir a primeira inicialização:
private Spinner mSpinner;
private boolean mSpinnerInitialized;
em onCreate (ou onCreateView), basta:
mSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
if (!mSpinnerInitialized) {
mSpinnerInitialized = true;
return;
}
// do stuff
}
public void onNothingSelected(AdapterView<?> adapterView) {
return;
}
});