【发布时间】:2018-01-18 15:30:33
【问题描述】:
我有一个活动 A,它通过 Intent 将数据传递给活动 B。现在 Activity B 调用 Activity C,而 Activity C 调用 Activity D。现在 Activity D 正在调用 Activity B。现在 Activity B 检查 Intent 数据,但 Activity D 没有传递任何数据。
现在一种方法是通过 C 和 D 传递数据,最后在 B 中获取数据,但我想知道是否有更好的方法来处理这个问题?
我想补充一点,数据可以是一个有很多变量和数组的对象。
编辑:- 活动 B 的工作需要数据。
提前致谢。
【问题讨论】:
-
如果您将相同的数据传递给许多活动,请使用 Sharedpreference 而不是 intent.putextra()
-
嗨@ANUJ GUPTA,它以以下方式存储数据的简单方法,例如,1)使用SharedPreferences 2)像pojo类概念一样存储在getter setter中。
-
使用可以用
android:launchMode="singleTop"创建和活动到ActivityB然后它会再次打开调用C的同一个实例 -
我传递的数据可以是一个对象,因此不能使用共享首选项。这是一个支持这个stackoverflow.com/questions/5418160/…的链接
-
是的,在共享首选项中,您还可以使用库 compile 'com.google.code.gson:gson:2.7' 中的对象
标签: android android-intent android-activity