2017-08-29 3 views
-2

Ich muss ein benutzerdefiniertes Formular erstellen (Anzeige x Felder). Es ist die Art, wie ich ein Spinner-List-Objekt erstellen:fill spinner android studio programmgesteuert

Spinner[] listeCouleurs = new Spinner[nbEquipes]; 

listeCouleurs: is the name of the list

nbEquipes: is an int, (number of teams)

Und es gibt die Elemente, die ich in die Liste eingefügt werden soll (listeCouleurs):

ArrayList<String> couleurs = new ArrayList<String>(); 
    couleurs.add("Rouge"); 
    couleurs.add("Bleu"); 
    couleurs.add("Vert"); 
    couleurs.add("Rose"); 
    couleurs.add("Jaune"); 

Und dann gibt es die Art, wie ich Einsatzelemente in x Spinner:

listeCouleurs[i] = new Spinner(this); 
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,listeCouleurs[i], couleurs); 

Aber es ist dieser Fehler:

Error:(94, 48) error: no suitable constructor found for ArrayAdapter(ConfigGame,Spinner,ArrayList) constructor ArrayAdapter.ArrayAdapter(Context,int,int) is not applicable (argument mismatch; Spinner cannot be converted to int) constructor ArrayAdapter.ArrayAdapter(Context,int,String[]) is not applicable (argument mismatch; Spinner cannot be converted to int) constructor ArrayAdapter.ArrayAdapter(Context,int,List) is not applicable (argument mismatch; Spinner cannot be converted to int)

Wie wird das Problem gelöst?

Grüße

+0

Sie haben die Antwort in die Fehlermeldung geschrieben. Es erfordert das grundlegendste allgemeine Programmierwissen, um dies zu lösen. Bitte lerne die Grundlagen, bevor du anfängst, Fragen zu SO zu stellen. –

Antwort

0

Das zweite Argument des ArrayAdapter Konstruktor sollte ein int kein Spinner

Beispielaufruf sein:

Spinner spinner = new Spinner(this); 
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, spinnerArray); //selected item will look like a spinner set from XML 
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
spinner.setAdapter(spinnerArrayAdapter); 

Weitere Informationen zu den möglichen Konstruktorargumente siehe: https://developer.android.com/reference/android/widget/ArrayAdapter.html

+0

Ich bin damit einverstanden, aber das Problem ist, dass ich Spinner programmatisch, nicht mit dem XML ... – FindL

+0

erstellen Das zweite Argument ist ein Indikator für den Spinner, wie es angezeigt wird. 'android.R.layout.simple_spinner_item' ist intern zu Android – joao86

0

Stellen Sie sicher, dass Sie diese beiden Zeilen nach der Initialisierung des Adapters einbeziehen :

spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
spinner.setAdapter(spinnerArrayAdapter); 

Hoffe, das hilft!

+0

Dies hat absolut nichts mit einem Kompilierungsfehler eines ungeeigneten Konstruktors zu tun. – csmckelvey

Verwandte Themen