我在第一个活动中有 2个字符串数组 - A,现在我需要将两个数组都传递给second_activity - B,我该怎么做?
我知道Android中的 Intent
类概念并且已经将单个变量值传递给另一个活动,但我还没有实现在活动之间传递字符串数组的概念,我已经在网上冲浪了。
请告诉我可能的解决方案。
答案 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中存储各种数据类型。