当前位置: 首页 > 知识库问答 >
问题:

如何将数据传递给之前的活动?[重复]

董洲
2023-03-14

我有以下问题。我有ActivityA和ActivityB。我在ActivityA中有一些单选按钮,用户可以选择它们ActivityB是通过ActivityA访问的,所以当我按下按钮时,我会转到ActivityB。在ActivityB中,我进行了一些计算,我想将结果返回ActivityA,但在转到 之前,先保存在 Activity A中所做的更改。

如果我使用finish(),我会返回到ActivityA(活动A),并保存所选按钮,但 ActivityA

我想知道有没有办法实现这一点?


共有2个答案

令狐唯
2023-03-14

是..您可以使用StartActivityForResult:

使用startActivityForResult()方法从您的FirstEvent调用第二个活动

示例:

Intent i = new Intent(this, SecondActivity.class);
startActivityForResult(i, 1);

在< code>SecondActivity中设置要返回给< code>FirstActivity的数据,如果不想返回,则不要设置任何数据。

例如:如果要发回数据,请在secondActivity中:

Intent returnIntent = new Intent();
 returnIntent.putExtra("result",result);
 setResult(RESULT_OK,returnIntent);     
 finish();

如果您不想返回数据:

Intent returnIntent = new Intent();
setResult(RESULT_CANCELED, returnIntent);        
finish();

现在,在您的第一活动类中,为 onActivityResult() 方法编写以下代码

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

  if (requestCode == 1) {

     if(resultCode == RESULT_OK){      
         String result=data.getStringExtra("result");          
     }
     if (resultCode == RESULT_CANCELED) {    
         //Write your code if there's no result
     }
  }
}

参考

还有一个教程

窦英武
2023-03-14
匿名用户

使用启动活动结果 () 启动活动 B,并使用 setResult() 将值从活动 B 传递到活动 A,并从 onActivityResult() 方法检索该结果。

例如。。。。

在ActivityA.java中。。。

Intent i = new Intent(ActivityA.this, ActivityB.class);    
startActivityForResult(i, 1);

在< code>ActivityB.java中...当您将结果发送回< code>ActivityA时...

Intent i = new Intent();
i.putExtra("result", YourResult);
setResult(1, i);
finish();

现在,在活动 A 中,检索结果,如下所示...

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

  if(resultCode == 1)
  {
     String result = data.getStringExtra("result");
  } 
}

 类似资料:
  • 我有三节课 1.菜单活动 2.LocationUpdateService 3.多重标记器 1.菜单活动 2、LocationUpdateService:(这是服务类) 3、多重标记(活动) 我的问题是:当我打开我的菜单活动我的Toast消息打印发送数据到广播接收器,然后点击按钮我调用MultipleMarker。我无法从服务中获取值。。。但当我按下后退按钮时,我重定向到MenuActivity,此

  • 当我关闭一个活动时,我希望它将一个值传递给另一个活动中的一个片段,我该怎么做? 活动B 片段A 代码不起作用,因为它给了我一个错误 谢啦

  • 我想把<代码>工作流程。睡眠调用我的Cadence活动之一,以便能够正确测试它(并模拟function产生的错误结果)。 在实现之前,我注意到两件重要的事情: 和是单独的类型。 每个活动的第一个参数 - - 是可选的,可以省略 我的尝试: 1.首次尝试 错误: "error":"无法解码活动函数输入字节错误:无法解码参数:0,*internal.Context,json错误:json:无法将对象散

  • 问题内容: 将变量数据从传递到类的最佳方法是什么?数据是在第一个类中创建的,我需要将该数据传递给第二个类而不使用Intent。任何代码示例将不胜感激。 自从我开始工作以来,我就打算将其发布。就我而言,我已经有一个,而我正在做的事情我需要另一个相同的类型。因此,这里去: 班级活动 我的主要活动 请注意,我必须先创建主类的实例 问题答案: 如果您的班级名称是为此创建的,并将值作为参数传递,则下面是一个

  • 类BookDescription:AppCompatActivity(){override fun onCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)setContentView(R.Layout.Activity_Book_Description) 类适配器(private val Context:Con

  • 问题内容: 我需要在单击recyclerview的图像时将数据从传递 到 。有人可以帮忙吗? 问题答案: 创建一个侦听器接口,然后让您的MainActivity实现它。这样,您可以在onClick方法中调用回调方法。 接口: 主要活动: 您的VideoAdapter: