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

时间:2018-09-24 11:43:50

标签: java android

我正在使用5个活动。我从活动1移到活动2,从动作2移至动作3,从动作3移至动作4,又从动作4移至动作5。 活动2将数据传送到act3,像这样的act5接收act2,act3,act4的数据,然后将所有数据发送到act 1。

我的第一个活动

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

    }

我的第二项活动

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

3 个答案:

答案 0 :(得分:1)

尝试以下方法:

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(如果您的活动仍在运行中,但将其置于最前面并以新的意图进行更新)中处理通过的结果firstactivity

答案 1 :(得分:0)

 //A simple approach to solve this issue is to use sharedpreferences 

//store value from activity five
getsharedpreferences('temp','MODE_PRIVATE').edit().clear().putString('values','new value').apply();

//get values from shared preferences if its available
String value 5 = getsharedpreferences('temp','MODE_PRIVATE').getString('values','nil');
getsharedpreferences('temp','MODE_PRIVATE').edit().clear();

答案 2 :(得分:0)

第一次活动

stop

第二个活动

StepRange