在android活动之间传递字符串数组

时间:2010-12-13 12:59:02

标签: android

我在第一个活动中有 2个字符串数组 - A,现在我需要将两个数组都传递给second_activity - B,我该怎么做?

我知道Android中的 Intent 类概念并且已经将单个变量值传递给另一个活动,但我还没有实现在活动之间传递字符串数组的概念,我已经在网上冲浪了。

请告诉我可能的解决方案。

3 个答案:

答案 0 :(得分:75)

Bundle b=new Bundle();
b.putStringArray(key, new String[]{value1, value2});
Intent i=new Intent(context, Class);
i.putExtras(b);


希望这会对你有所帮助。

为了阅读:

Bundle b=this.getIntent().getExtras();
String[] array=b.getStringArray(key);

答案 1 :(得分:4)

不直接回答问题,但您也可以在捆绑包中使用.putStringArrayListExtra()。它比发送字符串数组更灵活。

Bundle b=new Bundle();
b.putStringArrayListExtra("URL_ARRAY_LIST",
                        myStringArrayList);
Intent i=new Intent(context, Class);
i.putExtras(b);

然后您可以按如下方式获取此arrayList:

ArrayList<String> urls;
urls = getIntent().getStringArrayListExtra("URL_ARRAY_LIST");

答案 2 :(得分:3)

Intent将数据携带到键值映射中,其中'key'是您在将数据存储到Intent时选择的String name标识符。读取该数据时,请求相同的“密钥”。您可以在单个Intent中存储各种数据类型。