java - objetos - Spinner de Android usando ArrayList<String>
spinner dinamico android studio (1)
He estado usando valores de spinner de matrices de cadenas XML hasta ahora como:
Spinner karant_sp;
karant_sp = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> karant_adapter = ArrayAdapter.createFromResource(this, R.array.karant_list, android.R.layout.simple_spinner_item);
karant_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
karant_sp.setAdapter(karant_adapter);
karant_sp.setSelection(0);
karant_sp.setOnItemSelectedListener(new select_karant());
¿Puedo usar una ArrayList-String local de java como la lista de elementos que se mostrarán en el menú desplegable?
Algo como:
Spinner karant_sp;
ArrayList<String> return_likes = new ArrayList<String>();
return_likes.add("Hello");
return_likes.add("world");
karant_sp = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> karant_adapter = ArrayAdapter.createFromResource(this, return_likes, android.R.layout.simple_spinner_item);
karant_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
karant_sp.setAdapter(karant_adapter);
karant_sp.setSelection(0);
karant_sp.setOnItemSelectedListener(new select_karant());
Sé que el código anterior no funciona, pero me gustaría saber algo que funcione con ArrayList-string.
Sí. Simplemente no llame a createFromResource()
en su Adapter
. Utilice uno de los constructores en su lugar. Algo como
ArrayAdapter<String> karant_adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, return_likes);
Este es solo un ejemplo, es posible que tengas que cambiar otra cosa para que funcione, dependiendo de lo que no funcione. Pero The ArrayAdapter Docs debería ayudar.