摒弃 onActivityResult!Android开发中的新方式

在Android开发中,处理Activity之间的数据传递一直是一个重要的任务。过去,我们通常使用onActivityResult方法来处理从启动的Activity返回结果的情况。然而,随着Android开发的不断演进,谷歌推出了新的方式来处理这个问题,使代码更加简洁和易于维护。本文将介绍这种新的方式,并提供相应的源代码示例。

背景

在过去,当我们需要从一个Activity获取结果时,我们通常会在启动该Activity时使用startActivityForResult方法,并在目标Activity中通过setResult方法设置返回结果。然后,我们在调用startActivityForResult的Activity中重写onActivityResult方法来处理返回的结果。这种方式在很多情况下运作良好,但也存在一些问题。

首先,使用onActivityResult方法需要在调用startActivityForResult的Activity中重写该方法。如果我们有多个需要处理返回结果的地方,就需要在同一个Activity中管理多个onActivityResult回调,这会导致代码的可读性和可维护性下降。

其次,使用onActivityResult方法需要手动管理请求代码(requestCode),这可能会导致一些混乱和错误。如果我们在不同的地方使用相同的requestCode,容易造成代码逻辑错误。

最后,使用onActivityResult方法限制了我们的代码结构。我们需要将所有与结果处理相关的逻辑都放在同一个方法中&

猜你喜欢

转载自blog.csdn.net/NoerrorCode/article/details/133544075