Algunas de las respuestas anteriores no son correctas. Funcionan para otros widgets y vistas, pero la documentación del widget Spinner establece claramente:
Una ruleta no admite eventos de clic de elemento. Llamar a este método generará una excepción.
Mejor use OnItemSelectedListener () en su lugar:
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
// your code here
}
@Override
public void onNothingSelected(AdapterView<?> parentView) {
// your code here
}
});
Esto funciona para mi.
Tenga en cuenta que el método onItemSelected también se invoca cuando se construye la vista, por lo que puede considerar ponerlo dentro de la onCreate()
llamada al método.