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之间数据的传递的主要内容,如果未能解决你的问题,请参考以下文章
Android 事件分发事件分发源码分析 ( Activity 中各层级的事件传递 | Activity -> PhoneWindow -> DecorView -> ViewGroup )(代码片段
如何将变量从 Activity 传递到 Fragment,并将其传回?