首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

setResult调用了相同的活动,而不是调用父活动

是指在Android开发中,当一个活动(Activity)需要返回结果给调用它的活动时,可以使用setResult()方法来设置结果,并通过finish()方法来关闭当前活动。通常情况下,setResult()方法会将结果返回给调用它的父活动。

然而,有时候我们可能需要将结果返回给同一个活动,而不是调用它的父活动。这种情况下,可以通过在setResult()方法中传递一个特定的参数来指定要返回结果的活动。这样,当调用finish()方法关闭当前活动时,结果将返回给指定的活动。

这种情况下,可以通过在setResult()方法中传递一个特定的参数来指定要返回结果的活动。例如,可以使用以下代码来设置结果并返回给相同的活动:

代码语言:java
复制
Intent intent = new Intent();
intent.putExtra("result", "这是返回的结果");
setResult(RESULT_OK, intent);
finish();

在上述代码中,我们创建了一个Intent对象,并使用putExtra()方法将结果数据添加到Intent中。然后,我们调用setResult()方法,将结果设置为RESULT_OK,同时将Intent作为参数传递进去。最后,我们调用finish()方法关闭当前活动。

在接收结果的活动中,可以通过onActivityResult()方法来获取返回的结果数据。例如:

代码语言:java
复制
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    
    if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
        String result = data.getStringExtra("result");
        // 处理返回的结果数据
    }
}

在上述代码中,我们通过判断requestCode和resultCode来确定返回的结果是否有效。如果有效,我们可以使用getStringExtra()方法从Intent中获取返回的结果数据,并进行相应的处理。

总结:setResult调用了相同的活动,而不是调用父活动是指在Android开发中,通过设置setResult()方法的参数,可以将结果返回给同一个活动,而不是调用它的父活动。这在某些特定的场景下非常有用。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • spring boot--Deferred方式实现异步调用,提高系统的吞吐量

    在我们的实际生产中,常常会遇到下面的这种情况,某个请求非常耗时(大约5s返回),当大量的访问该请求的时候,再请求其他服务时,会造成没有连接使用的情况,造成这种现象的主要原因是,我们的容器(tomcat)中线程的数量是一定的,例如500个,当这500个线程都用来请求服务的时候,再有请求进来,就没有多余的连接可用了,只能拒绝连接。要是我们在请求耗时服务的时候,能够异步请求(请求到controller中时,则容器线程直接返回,然后使用系统内部的线程来执行耗时的服务,等到服务有返回的时候,再将请求返回给客户端),那么系统的吞吐量就会得到很大程度的提升了。

    02
    领券