如何使用Intent共享数组中的所有项?

时间:2017-09-17 15:55:22

标签: android arrays android-intent share

我有一个问题。如何使用Intent共享数组中的所有项目以在Android的Java语言中共享?因为我在数组中有很多项目,在下面的例子中我只放了2,但是有几十个。

这是我的代码:

    String[] pe_Contra = {
            "Adalberto Cavalcanti",
            "Augusto Coutinho",
    };

    String[] pe_Contra_partido = {
            "PTB",
            "SD",
    };

    String[] pe_Contra_ComoVotou = {
            "Contra a Denúncia.",
            "Contra a Denúncia.",
        };


 botaoCompartilhar.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                Intent sendIntent = new Intent();
                sendIntent.setAction(Intent.ACTION_SEND);
                sendIntent.putExtra(Intent.EXTRA_TEXT, pe_Contra, pe_Contra_partido,  pe_Contra_ComoVotou);
                sendIntent.setType("text/plain");
                startActivity(sendIntent);
            }
        });

非常感谢!!!

3 个答案:

答案 0 :(得分:2)

尝试使用 Bundle 来传递带有意图的字符串数组

使用下面的代码发送String数组

Bundle b=new Bundle();
b.putStringArray("data1", pe_Contra);
b.putStringArray("data2", pe_Contra_partido);
b.putStringArray("data3", pe_Contra_ComoVotou);
Intent sendIntent=new Intent(this, OTherActivity.Class);
sendIntent.putExtras(b);
startActivity(sendIntent);

在其他活动中接收它使用此

Bundle b=this.getIntent().getExtras();
String[] array1=b.getStringArray("data1");
String[] array2=b.getStringArray("data2");
String[] array3=b.getStringArray("data3");

答案 1 :(得分:1)

使用不同的键逐个传递数组,如下所示:

sendIntent.putExtra("data1", pe_Contra);
sendIntent.putExtra("data2", pe_Contra_partido);
sendIntent.putExtra("data3", pe_Contra_ComoVotou);

答案 2 :(得分:1)

使用它来了解如何使用Bundle或仅使用许多putExtras添加1个以上: Put 2 extras in intent 并使其中一个捆绑项目计数,以了解该数组的大小。根据数组大小使用循环来构建和读取Bundle。