มันไม่สำคัญว่าคุณจะตั้ง OnItemSelectedListener ใน onCreate หรือ onStart มันจะยังคงถูกเรียกในระหว่างการสร้างกิจกรรมหรือเริ่ม (ตามลำดับ)
ดังนั้นเราสามารถตั้งค่าใน onCreate (และไม่ได้อยู่ใน onStart!)
เพียงเพิ่มแฟล็กเพื่อคิดการเริ่มต้นครั้งแรก:
private Spinner mSpinner;
private boolean mSpinnerInitialized;
จากนั้นใน onCreate (หรือ onCreateView) เพียง:
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;
}
});