如何将String转换为String [] // Android开发// Java

时间:2012-03-25 12:48:14

标签: java android

我是Java新手,目前正在编写Android应用程序。在我的“快捷方式”课程中,我有一些代码(当然更多,但对你没用,我不认为):

final String[] items = new String[]{ "Please select a category",scanner.getCategorys() };
        @SuppressWarnings({ "unchecked", "rawtypes" })
        ArrayAdapter<CharSequence> adapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item, items);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        selection.setAdapter(adapter);

我有另一个名为“Scanner”的类,它有以下代码:

String categorys = "test";

public String getCategorys() {
    return categorys;
}

这确实有效,在我的Spinner中,我可以用单个值填写我的“请选择一个类别”选项(即“测试”)。问题是,我希望能够选择多个类别。如果我在“快捷方式”类中执行此操作:

final String[] items = new String[]{ "Please select a category","test","test2" };

它会起作用,但我想从“扫描仪”类中设置它,所以我尝试了这个:

String[] categorys = "test","test2";

public String[] getCategorys() {
    return categorys;
}

但它只是给了我错误:

String cannot be converted to String[]

如果有任何帮助,我将不胜感激。

4 个答案:

答案 0 :(得分:2)

这是错误的:

String[] categorys = "test","test2";

将其更改为

String[] categorys = {"test","test2"};

答案 1 :(得分:1)

在上一个代码示例中,您必须将{ }放在字符串周围,如下所示:

String[] categorys = { "test","test2" };

public String[] getCategorys() {
    return categorys;
}

根据您上面的编辑,您无法将String []添加到现有的String []。您需要将从getCategorys()获取的String []中的每个项目添加到另一个数组中。在这种情况下,我可能会切换到ArrayList<string>,因此您不必决定数组的大小,然后添加每个项目。

答案 2 :(得分:1)

您可以按如下方式初始化类别

String[] categorys = {"test","test2"};

我将变量称为&#39;类别&#39;。

编辑: scanner.getCategorys()不能用作构造函数需要String而不是字符串数组。一个好主意是使用ArrayList,如uncocoder所指出的那样。然后,您可以使用添加方法来包含&#34;请选择一个类别&#34;。

答案 3 :(得分:0)

我建议使用ArrayList,这样快速简单

ArrayList<String> strings = new ArrayList<String>();
strings.add("SOME TEXT");
strings.get(0);
//and more