如何将字符串转换为字符串[] // Android开发// Java

问题描述:

我对Java很陌生,目前正在编写一个Android应用程序。在我的“快捷键”课,我有这段代码(更多的课程,但不能对你有用,我不认为):如何将字符串转换为字符串[] // Android开发// Java

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); 

我有另一个类名为“扫描仪”,里面有这样代码:

String categorys = "test"; 

public String getCategorys() { 
    return categorys; 
} 

这并不工作,并在我的微调,我可以在我的“请选择类别”相同的值选项(即“测试”)填补。问题是,我希望能够选择多个类别。如果我这样做,在“快捷键”类:

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[] 

我将不胜感激的任何帮助。

这是错误的:

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

将其更改为

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

谢谢,去掉了一些错误的错误,但我仍然遇到错误,我把scanner.getCategorys()。我编辑了这篇文章。 – 2012-03-25 12:56:12

+0

是的。只需将'String [] categorys {“请选择一个类别”,“test”,“test2”}''。然后像这样初始化你的项目:'String [] items = scanner.getCategorys()' – 2012-03-25 13:02:34

+0

非常感谢人,它的工作。 – 2012-03-25 13:08:44

在你最后的代码示例,你必须把你的周围的字符串{ },就像这样:

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

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

根据以上你的编辑,你不能一个String []添加到现有的String [] 。您需要将从getCategorys()获得的字符串[]中的每个项目添加到另一个阵列。在这种情况下,我可能会切换到ArrayList<string>,所以您不必决定数组的大小,然后添加每个项目。

+0

谢谢,去掉了一些错误,但我仍然得到我放哪儿scanner.getCategorys() – 2012-03-25 12:52:12

如下

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

我会打电话的变量作为 '类别' 可以初始化的categorys。

编辑: scanner.getCategorys()不能用作构造函数期望的字符串而不是字符串数组。 uncocoder指出了一个好主意,就是使用ArrayList。然后你可以使用add方法来包含“请选择一个类别”。

+0

谢谢,这删除了一些错误,但我仍然遇到错误,我把scanner.getCategorys()。我编辑了这篇文章。 – 2012-03-25 12:55:38

+0

@zeokila更新了我的答案 – 2012-03-25 13:06:53

我对电子书籍使用ArrayList,它的快速和容易的这样

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