Android里Activity间的传值

weixin_45297921 2019-09-12 11:23:42
就假如A界面跳转到了B界面并传值接收了,我还想把A界面的值传到C界面和D界面但不进行页面跳转应该怎么办呢,网上搜的都是跳转传值,没什么用呀
...全文
654 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
云卷云舒i 2019-09-30
  • 打赏
  • 举报
回复
我有个笨方法,C和D都定义个静态的变量,这样直接将值赋给C和D的静态变量就行了
jack_qdb 2019-09-29
  • 打赏
  • 举报
回复
EventBus 比较好用,特别是传递的值比较大时
星宇大前端 2019-09-28
  • 打赏
  • 举报
回复
EventBus,单例,通知,想怎么传就怎么传。
  • 打赏
  • 举报
回复
把值设置成静态的,通过类来调用
只为搞笑 2019-09-18
  • 打赏
  • 举报
回复
引用 8 楼 weixin_45297921 的回复:
[quote=引用 6 楼 亲爱的Joe的回复:]你这个需求没有实际的意义。 向两个没有打开过的activity传值是不可能的。 可能你的业务需求不适合这样传值。 你可以把值保存在一个地方,等需要用到该值的activity启动时,在oncreate方法里面取获取文件保存的值
C和D界面是有打开操作的,但是并不是由A界面打开,就假如由A跳转到B再由B页面跳转到C,但是C界面的数据在A界面中,能不能直接从A传至C而不像A传至B再由B传至C那么麻烦呢[/quote] 一般常用的方法有几种: 1. 单例类:把A的数据保存到单例类,启动C和D时通过单例类取数据 2. SharePreference:适合保存一些少量的持久化数据。 3. 数据库:适合保存大量的持久化数据 一般来说如果你的数据不需要持久化,可能 A 方法用得会多一些。 另外要说明一点,从A传到B,再从B传到C、D这种做法多数情况下是推荐这样来做的。页面间传递的数据大多数时候是key,而页面要获取的数据是根据key来动态获取的。
weixin_45297921 2019-09-18
  • 打赏
  • 举报
回复
引用 6 楼 亲爱的Joe的回复:
你这个需求没有实际的意义。 向两个没有打开过的activity传值是不可能的。 可能你的业务需求不适合这样传值。 你可以把值保存在一个地方,等需要用到该值的activity启动时,在oncreate方法里面取获取文件保存的值
C和D界面是有打开操作的,但是并不是由A界面打开,就假如由A跳转到B再由B页面跳转到C,但是C界面的数据在A界面中,能不能直接从A传至C而不像A传至B再由B传至C那么麻烦呢
头发还没秃a 2019-09-16
  • 打赏
  • 举报
回复
如果C和D的界面是在栈内的,那么久使用普通广播或者EventBus的普通事件就可以,如果是不在栈内的,那就需要使用粘性广播或者EventBus的粘性事件
SemiraChen 2019-09-16
  • 打赏
  • 举报
回复
EventBus
只为搞笑 2019-09-16
  • 打赏
  • 举报
回复
不是很明白需求,C和D都还没打开(也就是还没有创建实例对象)就需要把值传过去吗?
雕·不懒惰 2019-09-16
  • 打赏
  • 举报
回复
同上
C D在栈内,EventBus传值就可以,不在栈内,在A中将C D需要用到的值保存到SharedPreferences或者文件中,C D要用/更新UI取值的时候就行了
亲爱的Joe 2019-09-16
  • 打赏
  • 举报
回复
你这个需求没有实际的意义。 向两个没有打开过的activity传值是不可能的。 可能你的业务需求不适合这样传值。 你可以把值保存在一个地方,等需要用到该值的activity启动时,在oncreate方法里面取获取文件保存的值
Robin.Zhao 2019-09-13
  • 打赏
  • 举报
回复
可以通过broadcast或者广播的方式。

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧