将几个字符串值传递给另一个Activity

时间:2019-05-08 13:49:15

标签: android string android-activity

我目前正在学习Android。我想在按下按钮后将多个字符串值从一个活动发送到另一个活动。我可以使用Intent发送一个值,但是3个不同的值呢?是否可以用相同的方式制作?还是应该将它们放入列表或其他内容?

Intent a1 = new Intent(SecondActivity.this, MainActivity.class);
Intent a2 = new Intent(SecondActivity.this, MainActivity.class);
Intent b = new Intent(SecondActivity.this, MainActivity.class);

a1.putExtra("KEY1", String.valueOf(value1));
a2.putExtra("KEY2", String.valueOf(value2));
b.putExtra("KEY3", String.valueOf(value3));

Intent add_activity = new Intent(getApplicationContext(), 
MainActivity.class);
startActivity(add_activity);

2 个答案:

答案 0 :(得分:1)

您不必为此创建多个意图。只能使用以下一种意图

Intent add_activity = new Intent(SecondActivity.this, MainActivity.class);

add_activity.putExtra("KEY1", String.valueOf(value1));
add_activity.putExtra("KEY2", String.valueOf(value2));
add_activity.putExtra("KEY3", String.valueOf(value3));

startActivity(add_activity);

如果您想将它们传递到列表中,可以这样做

ArrayList<String> myList = new ArrayList<String>();
myList.add(String.valueOf(value1));
...
...
add_activity.putExtra("mylist", myList);
startActivity(add_activity);

您可以在下面的其他活动中获取它

ArrayList<String> myList = (ArrayList<String>) getIntent().getSerializableExtra("mylist");

答案 1 :(得分:1)

您将三个String放在三个不同的引用中,当然,在第二个活动中必须有一个值来确定哪个活动将启动

Intent add_activity = new Intent(getApplicationContext(), MainActivity.class);
            add_activity.putExtra("KEY1", String.valueOf(value1));
            add_activity.putExtra("KEY2", String.valueOf(value2));
            add_activity.putExtra("KEY3", String.valueOf(value3));
            startActivity(add_activity);