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

h43kikqp  于 2022-10-09  发布在  Android
关注(0)|答案(4)|浏览(193)

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

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

请让我知道可能的解决方案。

a8jjtwal

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);
qgelzfjb

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");
tquggr8v

tquggr8v3#

意图将数据携带到键-值Map中,其中‘key’是在将数据存储到意图中时选择的字符串名称标识符。当读取该数据时,您请求相同的“密钥”。您可以在一个意图中存储各种数据类型。

ocebsuys

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");

相关问题