java - 如何将数据从第 5 个活动发送到第 1 个活动?
问题描述
我正在使用 5 个活动。从活动1 我移动到活动2,从act2 到act3,从act3 到act4,从act4 到act5。活动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();
解决方案
试试下面:
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
推荐阅读
- java - Java - 如何使 .jar 文件使用外部 .txt 文件?
- javascript - React-Native 文本无缘无故被垂直切断
- apache-kafka - 加入两个 Kafka 流
- java - Java 8、Drools 5.x 和 Drools 7.x
- jsf - 现在需要 faces-config.xml 和 web.xml 吗?
- javascript - 如何从组件循环向主父 Angular 5 发出事件
- reactjs - 从 Firestore 集合中读取太慢
- reporting-services - SSRS (Winforms - RDLC) 2016. 根据行数据控制页脚内容
- wpf - WPF动画边距绑定
- javascript - 不包装 div 的 ReactMarkdown