llenar - Android: crea un girador programáticamente desde array
llenar spinner android (5)
Soy nuevo en Android y estoy tratando de crear un spinner programáticamente y alimentarlo con datos de una matriz, pero Eclipse me da una advertencia que no puedo manejar.
Esto es lo que obtuve:
Este ArrayList contiene los elementos que deberían estar en el spinner (se llena de un archivo más adelante):
ArrayList<String> spinnerArray = new ArrayList<String>();
Este es el código que encontré en un sitio que debería crear el spinner:
Spinner spinner = new Spinner(this);
ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(this,
android.R.layout.simple_spinner_dropdown_item,
spinnerArray);
spinner.setAdapter(spinnerArrayAdapter);
Ahora, la segunda línea (ArrayAdapter ...) me da una advertencia en Eclipse que dice "ArrayAdapter is a raw type... References to generic type ArrayAdapter<T> should be parameterized"
, no tengo ni idea de cómo solucionar esto (o qué eso significa en primer lugar :)).
Es solo una advertencia y la aplicación parece funcionar bien, pero aún me gustaría entender qué pasa y arreglarlo. Cualquier sugerencia es apreciada.
Saludos, Select0r
De la misma manera con Array
// Array of choices
String colors[] = {"Red","Blue","White","Yellow","Black", "Green","Purple","Orange","Grey"};
// Selection of the spinner
Spinner spinner = (Spinner) findViewById(R.id.myspinner);
// Application of the Array to the Spinner
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, colors);
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // The drop down view
spinner.setAdapter(spinnerArrayAdapter);
Esto funcionó para mí con un conjunto de cadenas llamado " shoes
" cargado desde los recursos del proyecto:
Spinner spinnerCountShoes = (Spinner)findViewById(R.id.spinner_countshoes);
ArrayAdapter<String> spinnerCountShoesArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, getResources().getStringArray(R.array.shoes));
spinnerCountShoes.setAdapter(spinnerCountShoesArrayAdapter);
Este es mi archivo de recursos ( res/values/arrays.xml
) con la matriz de cadenas:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="shoes">
<item>0</item>
<item>5</item>
<item>10</item>
<item>100</item>
<item>1000</item>
<item>10000</item>
</string-array>
</resources>
Con este método, es más fácil hacerlo multilingüe (si es necesario).
Esto realmente funcionó para mí
Spinner spinner = new Spinner(this);
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
this, android.R.layout.simple_spinner_item, spinnerArray);
spinnerArrayAdapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
spinner = (Spinner) findViewById( R.id.spinner );
spinner.setAdapter(spinnerArrayAdapter);
este trabajo para mí: -
String[] array = {"A", "B", "C"};
String abc = "";
Spinner spinner = new Spinner(getContext());
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_spinner_item, array); //selected item will look like a spinner set from XML
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(spinnerArrayAdapter);
Estoy usando un Fragmento.
ArrayAdapter<String>
debería funcionar.
es decir:
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);