我在第一个活动-A中有2个字符串数组,现在我需要将这两个数组传递给第二个_活动-B,我该怎么做?
我知道Android中的**Intent**类概念,并且已经将单变量值传递给了另一个活动,但我还没有实现在活动之间传递字符串数组的概念,我已经在网上找到了同样的概念。
Intent
请让我知道可能的解决方案。
a8jjtwal1#
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);
qgelzfjb2#
不是问题的直接答案,但您也可以在包中使用.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");
tquggr8v3#
意图将数据携带到键-值Map中,其中‘key’是在将数据存储到意图中时选择的字符串名称标识符。当读取该数据时,您请求相同的“密钥”。您可以在一个意图中存储各种数据类型。
ocebsuys4#
要将arrayList数据发送到另一个活动,
*(1)第一个活动中创建意图的代码:
Intent intent = new Intent(firstActivityName.this, SecondActivityName.class); intent.putExtra("Array", ArrayListName); startActivity(intent);
(2)第二个活动中使用Bundle获取数据的代码:
Bundle bundle = getIntent().getExtras(); ArrayList<String> arrayList = new ArrayList<>(); arrayList = (ArrayList <String>) bundle.getSerializable("Array");
4条答案
按热度按时间a8jjtwal1#
希望这能对你有所帮助。
为了阅读:
qgelzfjb2#
不是问题的直接答案,但您也可以在包中使用.putStringArrayListExtra()。它比发送字符串数组更灵活。
然后,您可以按如下方式获取此arrayList:
tquggr8v3#
意图将数据携带到键-值Map中,其中‘key’是在将数据存储到意图中时选择的字符串名称标识符。当读取该数据时,您请求相同的“密钥”。您可以在一个意图中存储各种数据类型。
ocebsuys4#
要将arrayList数据发送到另一个活动,
*(1)第一个活动中创建意图的代码:
(2)第二个活动中使用Bundle获取数据的代码: