安卓Activity之间的通信问题

永不剩饭的小DouDou 2013-10-01 05:20:03
主Activity是设置界面,程序要实现从主Activity有三个按钮,分别可进入三个不同的子Activity,这三个子Activity里都有一个文本输入框,当从子Activity返回时,希望得到回传回来的值。

问题就是,如果是一个页面还好,三个页面Activity却不能简单的用putExtra()方法了。比如以下这种情况怎么办呢:

从主页面点第一个BUTTON进入第一个子Activity设置文本,这时已经调用了this.finish()方法,当第一个子Activity设置完成后,调用startActivity()回到主页面;接着进入第二个子Activity设置,这时第一个页面的值不能丢失;然后是第三个子Activity,最后从第三个子Activity返回时,得到了三个子页面的设置值。
如图



怎么才能实现呢?我觉得由于Activity每次都是新NEW出来的,这个值又会被丢失了...有些混乱,还请大侠赐教。
...全文
151 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
daiyier 2013-10-09
  • 打赏
  • 举报
回复
引用 2 楼 lansubao 的回复:
引用 1 楼 daiyier 的回复:
你可以在主Activity中设置三个变量来接收每次从子Activity中的值,再不行在主用三个静态变量来保存三个子Activity的值试一试。
我用了请求码来区分每次传回值,在更深层的activity用setResult来启动Activity,而不是new出来。谢谢
后面的的setResult启动的活动不能对最顶层的活动中的静态变量赋值么?
  • 打赏
  • 举报
回复
引用 1 楼 daiyier 的回复:
你可以在主Activity中设置三个变量来接收每次从子Activity中的值,再不行在主用三个静态变量来保存三个子Activity的值试一试。
我用了请求码来区分每次传回值,在更深层的activity用setResult来启动Activity,而不是new出来。谢谢
daiyier 2013-10-06
  • 打赏
  • 举报
回复
你可以在主Activity中设置三个变量来接收每次从子Activity中的值,再不行在主用三个静态变量来保存三个子Activity的值试一试。

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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