Android:在多个活动上传递字符串数组

时间:2015-09-24 21:23:49

标签: java android arrays bundle

我试图通过大约3个类传递单个字符串数组,最后将数组[1]的内容打印到textview。我一直在使用意图与我的arraylists实现这一点,它工作正常。出于某种原因,我无法使用一个可压缩的字符串数组。这就是我正在做的事情。

String Array的Origin活动:

private String [] decisionInput = new String[1];

 textData = etShouldI.getText().toString();

            if (!textData.matches("")){

            decisionInput[0] = (String.valueOf(textData));

                test.setText(decisionInput[0]); //TEST WORKS

               //CREATE BUNDLE
                Bundle bundle = new Bundle();
                bundle.putStringArray("decision", decisionInput);

                //SEND BUNDLE DATA
            Intent intent = new Intent(this,Pro.class);
                intent.putExtras(bundle);
                startActivity(intent);}

在我的下一个活动中,我有以下内容,以便接收数据,并将其发送到下一个活动,依此类推......

  String[] dPasser = new String[1];

@ONCREATE

//BUNDLE RECEIVER
   Bundle bundle = getIntent().getExtras();
    dPasser = bundle.getStringArray("decision");


    thisText.setText(String.valueOf(dPasser));  //TV currently returns null... 

@ONCLICK

//SEND DECISION DATA TO NEXT ACTIVITY
 Intent intent = new Intent(this, Next.class);
            Bundle b = new Bundle();
            b.putStringArray("decision", dPasser);
            intent.putExtras(b);

            startActivity(intent);

$%@&我做错了吗?

1 个答案:

答案 0 :(得分:1)

您将下面的代码放在一个名为data的文件中,然后在您的代码中通过调用data.array

来使用它
public class data {
     public String[] array = new String[1];
}

但是只要通过String [],你就不需要捆绑。

简单地

intent.putExtra("stringArray".String[]);

并通过

获取
this.getIntent().getStringArrayExtra("stringArray")