Comment puis-je changer quelque chose comme ça:
CharSequence cs[] = { "foo", "bar" };
à:
CharSequence cs[];
cs.add("foo"); // this is wrong...
cs.add("bar"); // this is wrong...
Utilisez un objet List pour gérer les éléments. Lorsque vous avez tous les éléments, convertissez-les en CharSequence. Quelque chose comme ça:
List<String> listItems = new ArrayList<String>();
listItems.add("Item1");
listItems.add("Item2");
listItems.add("Item3");
final CharSequence[] charSequenceItems = listItems.toArray(new CharSequence[listItems.size()]);
Tu es presque là. Vous devez allouer de l'espace pour les entrées, ce qui est automatiquement fait pour vous dans le cas d'initialisation ci-dessus.
CharSequence cs[];
cs = new String[2];
cs[0] = "foo";
cs[1] = "bar";
En réalité, CharSequence est une interface et ne peut donc pas être créé directement, mais String comme l’une de ses implémentations le peut.
Vous pouvez également utiliser List
, pour avoir un nombre dynamique de membres dans le tableau (liste :)):
List<CharSequence> cs = new ArrayList<CharSequence>();
cs.add("foo");
cs.add("bar");
Si vous voulez utiliser array, vous pouvez faire:
CharSequence cs[];
cs = new String[2];
cs[0] = "foo";
cs[1] = "bar";
Si vous voulez qu'il soit dynamique, vous devriez penser à une autre structure, puis le convertir en CharSequence quand vous en aurez besoin. Sinon, ce fil peut être utile.
Vous pouvez utiliser ArrayList au lieu de tableaux bruts, car vous devez ajouter des éléments de manière dynamique.