Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java(Android)中连接具有多个值的字符串_Java_Android_Concatenation - Fatal编程技术网

在Java(Android)中连接具有多个值的字符串

在Java(Android)中连接具有多个值的字符串,java,android,concatenation,Java,Android,Concatenation,我创建了一个ListView,其中填充了一个XMLParser,允许用户使用复选框从列表中选择多个值,然后可以通过按下按钮转到下一个活动。 在“活动2”中,我希望检索所有选定的值 要获取所有选定值,我使用:String selected+=“\n-”+c.getName() 其中c是final ConfigOptions c=options.get(位置) 我还在onCreate方法之外声明了它,如下所示 public static String selected = null; 但我也有同样

我创建了一个ListView,其中填充了一个XMLParser,允许用户使用复选框从列表中选择多个值,然后可以通过按下按钮转到下一个活动。 在“活动2”中,我希望检索所有选定的值

要获取所有选定值,我使用:
String selected+=“\n-”+c.getName()
其中c是
final ConfigOptions c=options.get(位置)

我还在onCreate方法之外声明了它,如下所示

public static String selected = null;
但我也有同样的问题

问题是,在活动2上,我获得了所有选定的值,但其中一个值为null

EX:null\n-伺服电子系统\n-驻车距离控制\n-速度限制 信息

此外,如果我尝试重新打开活动1并再次选择新项目,则在第二个活动上,以前选择的旧活动也会出现。即使我将字符串的值设置为null,我仍然会在那里得到所有字符串


那么,我如何连接该字符串的值,以便在下一个活动中不再获取空值,并且能够重置该值,以便再次进行选择呢?

您可以使用它以更好的方式完成任务。创建要传递的项目的ArrayList,将ArrayList添加到
捆绑包中
,并在
Intent
调用中发送
捆绑包。

当用户想要转到活动2时,制作一个字符串数组来保存所选项目的数量。将其作为额外内容添加到开始活动2的意图中

int count = // get number of selections
String[] options = new String[count];
for (int i = 0; i < count; i++) {
    options[i] = // ith selection
}
Intent intent = new Intent(this, Activity2.class);
intent.putExtra("options", options);
startActivity(intent);

您需要编写
空检查
条件。可能是因为您正在声明一个字符串并在同一行上添加“++=”?选择的字符串+=“\n”是一个语法错误。我尝试在onCreate方法之外声明它,并尝试了您的方法,但存在相同的问题。@StuPointerException之后的“\n”是一个+。我使用它是为了在新行上有选择,而不是一行接一行。在EX中:我发布了\n以便人们知道每个项目都在一个新行上。
String[] options = getIntent.getStringArrayExtra("options");
if (options != null) {
    // process the strings here.
}