java - Android, ¿cómo rellenar dinámicamente una matriz CharSequence(no inicializar?)
arrays dynamic (5)
Podría usar ArrayList en lugar de matrices en bruto ya que necesita agregar elementos dinámicamente.
¿Cómo cambio algo como esto?
CharSequence cs[] = { "foo", "bar" };
a:
CharSequence cs[];
cs.add("foo"); // this is wrong...
cs.add("bar"); // this is wrong...
Si desea que sea dinámico, debe pensar en otra estructura y luego convertirla en un CharSequence cuando lo necesite. Alternativamente, ese hilo puede ser útil.
También puede usar List
, para tener un número dinámico de miembros en la matriz (lista :)):
List<CharSequence> cs = new ArrayList<CharSequence>();
cs.add("foo");
cs.add("bar");
Si quieres usar array, puedes hacer:
CharSequence cs[];
cs = new String[2];
cs[0] = "foo";
cs[1] = "bar";
Use un objeto de lista para administrar elementos y cuando tenga todos los elementos, conviértalos a CharSequence. Algo como esto:
List<String> listItems = new ArrayList<String>();
listItems.add("Item1");
listItems.add("Item2");
listItems.add("Item3");
final CharSequence[] charSequenceItems = listItems.toArray(new CharSequence[listItems.size()]);
Ya casi has llegado. Debe asignar espacio para las entradas, lo que se hace automáticamente en el caso de inicialización anterior.
CharSequence cs[];
cs = new String[2];
cs[0] = "foo";
cs[1] = "bar";
En realidad, CharSequence es una interfaz y, por lo tanto, no se puede crear directamente, pero sí String como una de sus implementaciones.