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:
Esta ArrayList contiene los elementos que deberían estar en la ruleta (se rellena desde 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 la ruleta:
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 idea de cómo solucionar esto (o lo que eso significa en primer lugar :)).
Es solo una advertencia y la aplicación parece funcionar bien, pero aún así me gustaría entender qué está mal y solucionarlo. Cualquier pista es apreciada.
Saludos, Select0r
Type safety: The expression of type ArrayAdapter needs unchecked conversion to conform to ArrayAdapter<String>
<String>
, su código funciona ahora, ¡muchas gracias!ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(activity, R.layout.simple_spinner_item); spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
o de lo contrario puede aparecer un botón de radio en la ruleta en algunos dispositivos.De la misma manera con Array
fuente
Esto funcionó para mí con un conjunto de cadenas llamado
shoes
cargado de los recursos del proyecto:Este es mi archivo de recursos (
res/values/arrays.xml
) con el conjunto de cadenas llamadoshoes
:Con este método es más fácil hacerlo multilingüe (si es necesario).
fuente
Esto realmente funcionó para mí
fuente
Spinner spinner = new Spinner(this);
cuando haces estospinner = (Spinner) findViewById( R.id.spinner );
este trabajo para mi: -
Estoy usando un fragmento.
fuente
En el idioma Kotlin puedes hacerlo de esta manera:
fuente