Ich bin ganz neu in Android und versuche, einen Spinner programmgesteuert zu erstellen und ihn mit Daten aus einem Array zu versorgen, aber Eclipse gibt mir eine Warnung, die ich nicht verarbeiten kann.
Folgendes habe ich bekommen:
Diese ArrayList enthält die Elemente, die sich im Drehfeld befinden sollten (wird später aus einer Datei gefüllt):
ArrayList<String> spinnerArray = new ArrayList<String>();
Dies ist Code, den ich auf einer Site gefunden habe, die den Spinner erstellen soll:
Spinner spinner = new Spinner(this);
ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(this,
android.R.layout.simple_spinner_dropdown_item,
spinnerArray);
spinner.setAdapter(spinnerArrayAdapter);
Jetzt gibt mir die zweite Zeile (ArrayAdapter ...) in Eclipse eine Warnung "ArrayAdapter is a raw type... References to generic type ArrayAdapter<T> should be parameterized"
, dass ich keine Ahnung habe, wie ich das beheben soll (oder was das überhaupt bedeutet :)).
Es ist nur eine Warnung und die App scheint in Ordnung zu sein, aber ich möchte trotzdem verstehen, was falsch ist, und es beheben. Jeder Hinweis wird geschätzt.
Grüße, Select0r
Type safety: The expression of type ArrayAdapter needs unchecked conversion to conform to ArrayAdapter<String>
<String>
, Ihr Code funktioniert jetzt, vielen Dank!ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(activity, R.layout.simple_spinner_item); spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
einigen Geräten wird im Drehfeld möglicherweise ein Optionsfeld angezeigt.Genauso wie bei Array
quelle
Dies funktionierte bei mir mit einem String-Array namens,
shoes
das aus den Projektressourcen geladen wurde:Dies ist meine Ressource - Datei (
res/values/arrays.xml
) mit dem String-Array genanntshoes
:Mit dieser Methode ist es einfacher, sie mehrsprachig zu machen (falls erforderlich).
quelle
Das hat bei mir tatsächlich funktioniert
quelle
Spinner spinner = new Spinner(this);
wenn Sie dies tunspinner = (Spinner) findViewById( R.id.spinner );
diese Arbeit für mich: -
Ich benutze ein Fragment.
quelle
In der Kotlin-Sprache können Sie dies folgendermaßen tun:
quelle