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

2022-09-01 21:30:49

如何更改类似如下的内容:

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

自:

CharSequence cs[];

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

答案 1

使用 List 对象来管理项,当您拥有所有元素时,则转换为 CharSequence。像这样:

List<String> listItems = new ArrayList<String>();

listItems.add("Item1");
listItems.add("Item2");
listItems.add("Item3");

final CharSequence[] charSequenceItems = listItems.toArray(new CharSequence[listItems.size()]);

答案 2

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

CharSequence cs[];

cs = new String[2];

cs[0] = "foo"; 
cs[1] = "bar"; 

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