Android: Cree el hilador de forma programática desde el array
Soy todo nuevo en Android y estoy tratando de crear un spinner mediante programación y alimentarlo con datos de una matriz, pero Eclipse me da una advertencia que no puedo manejar.
Esto es lo que tengo:
- Cómo cambiar el elemento de una ruleta en ActionBar mediante programación
- Alinear la flecha giratoria a la derecha del elemento seleccionado actualmente
- El diálogo emergente de Spinner no ajusta su ancho en la rotación de la pantalla
- La lista desplegable de Spinner y la orientación de la pantalla cambian el problema
- El tema de Android Holo no envuelve múltiples líneas de elementos desplegables de hilandero
Este ArrayList contiene los elementos que deben 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 diciendo "ArrayAdapter is a raw type... References to generic type ArrayAdapter<T> should be parameterized"
, no tengo idea de cómo arreglar esto (o lo que Que significa en primer lugar :)).
Es sólo una advertencia y la aplicación parece funcionar bien, pero todavía me gustaría entender lo que está mal y arreglarlo. Cualquier sugerencia es apreciada.
Saludos, Select0r
- Refrescar un Spinner
- ¿Cómo puedo utilizar onItemSelected en Android?
- ID de configuración de los elementos de Spinner
- ¿Cómo puedo administrar la altura de los ítems de spinner android?
- cómo implementar agregar elemento en adaptador de matriz spinner en android
- Android Spinner - Cómo seleccionar la lista predeterminada a ninguna
- ¿Cómo utilizar Spinner en Recyclerview?
- Cambiar el contenido de Spinner al abrir
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);
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 array de cuerdas llamado " shoes
" cargado desde los recursos de los proyectos:
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.
- Pasar enum o objeto a través de una intención (la mejor solución)
- ADT requiere 'org.eclipse.wst.sse.core 0.0.0' pero no se pudo encontrar