Android,如何动态填充CharSequence数组(不初始化?)

我该如何改变这样的事情:

CharSequence cs[] = { "foo", "bar" }; 

至:

 CharSequence cs[]; cs.add("foo"); // this is wrong... cs.add("bar"); // this is wrong... 

使用List对象来管理项目,当您拥有所有元素时,然后转换为CharSequence。 像这样的东西:

 List listItems = new ArrayList(); listItems.add("Item1"); listItems.add("Item2"); listItems.add("Item3"); final CharSequence[] charSequenceItems = listItems.toArray(new CharSequence[listItems.size()]); 

您还可以使用List ,在数组中拥有动态数量的成员(list :)):

 List cs = new ArrayList(); cs.add("foo"); cs.add("bar"); 

如果要使用数组,可以执行以下操作:

 CharSequence cs[]; cs = new String[2]; cs[0] = "foo"; cs[1] = "bar"; 

你快到了。 您需要为条目分配空间,这在上面的初始化情况下会自动为您完成。

 CharSequence cs[]; cs = new String[2]; cs[0] = "foo"; cs[1] = "bar"; 

实际上CharSequence是一个接口,因此不能直接创建,但String作为其实现之一可以。

如果您希望它是动态的,您应该考虑另一个结构,然后在需要时将其转换为CharSequence。 或者, 该线程可能很有用。

您可以使用ArrayList而不是原始数组,因为需要动态添加项目。