Bonjour,

J'implémente une application sous Android studio.
Je remplis une liste déroulante. Lorsque je sélectionne un item dans la liste, celui ne s'affiche pas et en plus la méthode onItemSelected n'est pas appelée.
Merci pour votre aide.

Ci après le code de mon Adapter CoureurSpinnerAdapter:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
public class CoureurSpinnerAdapter extends ArrayAdapter<String> implements SpinnerAdapter {
    // Atributs privés
    private Context pContext;
    private int pLayoutResourceId;
    private int pTextViewResourceId;
    private ArrayList<String> pListeCoureurs;
    private LayoutInflater pInflater;
 
    // Constructeur
    public CoureurSpinnerAdapter(Context context, int resource, int textViewResourceId, ArrayList<String> listeCoureurs) {
        super(context, resource, textViewResourceId, listeCoureurs);
        this.pContext = context;
        this.pLayoutResourceId = resource;
        this.pTextViewResourceId = textViewResourceId;
        this.pListeCoureurs = listeCoureurs;
        this.pInflater = LayoutInflater.from(pContext);
    }
 
    @Override
    public View getDropDownView(int position, View convertView, ViewGroup parent) {
        View lView = convertView;
        if (lView == null) {
            lView = pInflater.inflate(pLayoutResourceId, parent, false);
        }
        else {
        }
        if ((pListeCoureurs != null) && (position < pListeCoureurs.size())) {
            TextView lTextView = (TextView) lView.findViewById(pTextViewResourceId);
            lTextView.setText(pListeCoureurs.get(position));
        }
        else {
        }
        return(lView);
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        /*TextView lTextView = new TextView(this.pContext);
        lTextView.setText(this.pListeCoureurs.get(position));
        return(lTextView);*/
        View lView = convertView;
        if (lView == null) {
            lView = pInflater.inflate(pLayoutResourceId, parent, false);
        }
        else {
        }
        if ((pListeCoureurs != null) && (position < pListeCoureurs.size())) {
            TextView lTextView = (TextView) lView.findViewById(pTextViewResourceId);
            lTextView.setText(pListeCoureurs.get(position));
        }
        else {
        }
        return(lView);
    }
 
    @Override
    public int getCount() {
        return(pListeCoureurs.size());
    }
 
    @Override
    public String getItem(int position) {
        return (pListeCoureurs.get(position));
    }
 
    @Override
    public long getItemId(int position) {
        return (position);
    }
}
Ci après le code de mon activité TabCourse :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
public class TabCourse extends Fragment {
    private CoureurSpinnerAdapter pCoureurSpinnerAdapter;
    private Button pBoutonDemarrer;
    private Button pBoutonArreter;
    private Button pBoutonPause;
    private Chronometer pChronometre;
    private Button pBoutonPasserRelai;
    private TextView pTextViewProchainCoureur;
    private Spinner pSpinnerProchainCoureur;
 
    //Overriden method onCreateView
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View lView = inflater.inflate(R.layout.tab_course, container, false);
        pCoureurSpinnerAdapter = new CoureurSpinnerAdapter(lView.getContext(), R.layout.spinner_coureur, R.id.textViewSpinnerCoureur, TabEquipe.pEquipe.lireListeCoureurs());
        pBoutonDemarrer = (Button) lView.findViewById(R.id.ButtonDemarrer);
        pBoutonArreter = (Button) lView.findViewById(R.id.ButtonArreter);
        pBoutonPause = (Button) lView.findViewById(R.id.ButtonPause);
        pChronometre = (Chronometer) lView.findViewById(R.id.chronometer);
        pBoutonPasserRelai = (Button) lView.findViewById(R.id.buttonPasserRelai);
        pTextViewProchainCoureur = (TextView) lView.findViewById(R.id.textViewProchainCoureur);
        pSpinnerProchainCoureur = (Spinner) lView.findViewById(R.id.spinnerProchainCoureur);
        pBoutonDemarrer.setEnabled(false);
        pBoutonArreter.setEnabled(false);
        pBoutonPause.setEnabled(false);
        pBoutonPasserRelai.setEnabled(false);
        pBoutonDemarrer.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                pBoutonDemarrer.setEnabled(false);
                pBoutonArreter.setEnabled(true);
                pBoutonPause.setEnabled(true);
                pBoutonPasserRelai.setEnabled(true);
                pChronometre.start();
            }
        });
        pBoutonArreter.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                pBoutonDemarrer.setEnabled(true);
                pBoutonArreter.setClickable(false);
                pBoutonPause.setEnabled(false);
                pBoutonPasserRelai.setEnabled(false);
                pChronometre.stop();
            }
        });
        pBoutonPause.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                pBoutonDemarrer.setEnabled(false);
                pBoutonArreter.setEnabled(false);
                pBoutonPause.setEnabled(true);
                pBoutonPasserRelai.setEnabled(false);
                pChronometre.stop();
            }
        });
        pBoutonPasserRelai.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                pBoutonDemarrer.setEnabled(false);
                pBoutonArreter.setEnabled(false);
                pBoutonPause.setEnabled(true);
                pBoutonPasserRelai.setEnabled(false);
            }
        });
        pCoureurSpinnerAdapter.setDropDownViewResource(R.layout.support_simple_spinner_dropdown_item);
        pSpinnerProchainCoureur.setAdapter(pCoureurSpinnerAdapter);
        pSpinnerProchainCoureur.setOnItemSelectedListener(new OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                //pSpinnerProchainCoureur.setSelection(position);
                pTextViewProchainCoureur.setText(parent.getItemAtPosition(position).toString());
                pBoutonDemarrer.setClickable(true);
            }
            @Override
            public void onNothingSelected(AdapterView<?> parent) {
            }
        });
        //Returning the layout file after inflating
        //Change R.layout.tab_course in you classes
        return(lView);
    }
}