Java 如何将数据从第五个活动发送到第一个活动?

Java 如何将数据从第五个活动发送到第一个活动?,java,android,Java,Android,我正在使用5个活动。从活动1到活动2,从act2到act3,从act3到act4,从act4到act5。 活动2将数据传送到act3,与此类似,act5接收act2、act3、act4的数据,然后将所有数据发送到ACT1 我的第一项活动 I{ Intent i= new Intent(firstactivity.this, secondactivity.class); startActivityForResult(i, 10); } @Override protecte

我正在使用5个活动。从活动1到活动2,从act2到act3,从act3到act4,从act4到act5。 活动2将数据传送到act3,与此类似,act5接收act2、act3、act4的数据,然后将所有数据发送到ACT1

我的第一项活动

I{

    Intent i= new Intent(firstactivity.this, secondactivity.class);
    startActivityForResult(i, 10);

  }

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

        if (requestCode == 10) {

        String a= data.getStringExtra("Value1");
        String b= data.getStringExtra("Value2");
        String c= data.getStringExtra("Value3");
        String d= data.getStringExtra("Value4");

        String showall = a+", "+b+", "+c+", "+d;
        address.setText(showall);

    }
static ArrayList<String> arlist=new ArrayList<String>();
arlist.add("value");
arlist.add("value1");
arlist.add("value2");
我的第二项活动

Intent intent = new Intent(secondactivity.this, thirdactivity.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
            intent.putExtra("Value1", firstvalue);
            startActivity(intent);
我的第五项活动

Intent intent = new Intent(fourthactivity.this, fifthactivity.class);
            intent.putExtra("Value1", geta);
            intent.putExtra("Value2", getb);
            intent.putExtra("Value3", getc);
            intent.putExtra("Value4", getd);
            intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
            setResult(10);

            finish();
请尝试以下内容:

Intent intent = new Intent(fifthactivity.this, firstactivity.class);
intent.putExtra("Value1", geta);
intent.putExtra("Value2", getb);
intent.putExtra("Value3", getc);
intent.putExtra("Value4", getd);
intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT|Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
startActivity(intent);
然后在
第一个活动的
onCreate
(以防活动被破坏)或
onNewIntent
(如果您的活动仍在运行,但您将其带到前面并以新的意图更新)中处理传递的结果

I{

    Intent i= new Intent(firstactivity.this, secondactivity.class);
    startActivityForResult(i, 10);

  }

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

        if (requestCode == 10) {

        String a= data.getStringExtra("Value1");
        String b= data.getStringExtra("Value2");
        String c= data.getStringExtra("Value3");
        String d= data.getStringExtra("Value4");

        String showall = a+", "+b+", "+c+", "+d;
        address.setText(showall);

    }
static ArrayList<String> arlist=new ArrayList<String>();
arlist.add("value");
arlist.add("value1");
arlist.add("value2");

您最好使用单个活动,并在其中交换一些片段。数据将属于活动,所有片段都可以处理。使用共享首选项比来回发送更好。希望问题得到解决PLZ建议我如何执行此操作。检查更新。如果您的列表不安全,请执行此操作。