我创建了一个用XMLParser填充的ListView,允许用户使用复选框从List中选择多个值,然后按一个按钮转到下一个活动。 在活动2上,我想检索所有选定的值。
要获取我使用的所有选定值:String selected += "\n- " +c.getName();
其中c是final ConfigOptions c = options.get(position);
我也在onCreate方法之外宣布它
public static String selected = null;
但我有同样的问题
问题在于,在活动2中,我获得了所有选定的值,但其中一个值为null
EX:null \ n -Servotronic \ n -Park distance control \ n - 速度限制 信息
此外,如果我尝试重新打开活动1并再次选择新项目,则在第二个活动中,之前选择的旧活动也会出现。即使我将字符串的值设置为null,我仍然可以将它们全部放在那里。
那么如何将此字符串的值连接到下一个活动中不再获取空值并且还能够重置该值以便我可以再次进行选择?
答案 0 :(得分:1)
您可以使用Android Bundle
以更好的方式完成任务。创建要传递的项的ArrayList,将ArrayList添加到Bundle
并在Bundle
调用中发送Intent
。
答案 1 :(得分:1)
当用户想要转到活动2时,创建一个String数组来保存所选项目的数量。添加它作为额外的意图启动活动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);
在活动2的onCreate:
String[] options = getIntent.getStringArrayExtra("options");
if (options != null) {
// process the strings here.
}