Activity之间数据的传递

Posted zzl521

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Activity之间数据的传递相关的知识,希望对你有一定的参考价值。

1 有关系的方法

  method 作用
第一个Activity startActivityForResult() 以这样的方式开启一个intent会触发此Activity的onActivityResult()并接受返回来的数据
onActivityResult() 在这里处理接收回来的数据
onSaveInstanceState(Bundle outState) 在onStop()执行前执行,用于保存activity的状态
第二个Activity setResult(0, intent) 这个方法下设置请求码与返回的intent(这个intent主要用于携带数据)

2 数据传送媒介(就是Intent和Bundle这两个改选哪一个)

给你来一段源码就知道了

  public @NonNull Intent putExtra(String name, String value) {
        if (mExtras == null) {
            mExtras = new Bundle();
        }
        mExtras.putString(name, value);
        return this;
    }

这是Intent.putExtra()的源码,可以看到其实就是调用的Bundle,所有随便我们怎么用都OK的

3 Bundle的一些简介

A mapping from String keys to various {@link Parcelable} values.  一个从键到值的映射
目前我知道的作用也就是Activity之间传递数据,可以传递几乎所有的数据类型了

以上是关于Activity之间数据的传递的主要内容,如果未能解决你的问题,请参考以下文章

从另一个活动的活动中的片段传递数据

将 Fragment 之间的数据传递给 Activity

Android 事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup )(代码片段

如何将变量从 Activity 传递到 Fragment,并将其传回?

Android:将片段和弹出窗口的点击事件中生成的变量传递给活动的方法

Android中Activity之间的数据传递ngti