Một số câu trả lời trước không đúng. Chúng hoạt động cho các tiện ích và chế độ xem khác, nhưng tài liệu về tiện ích Spinner nêu rõ:
Một spinner không hỗ trợ các sự kiện bấm vào mục. Gọi phương thức này sẽ đưa ra một ngoại lệ.
Thay vào đó, sử dụng tốt hơn OnItemSelectedListener () :
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
}
});
Điều này làm việc cho tôi.
Lưu ý rằng phương thức onItemSelected cũng được gọi khi chế độ xem đang được xây dựng, vì vậy bạn có thể xem xét đưa nó vào trong onCreate()cuộc gọi phương thức.