1
luckyshq 2014-12-05 09:56:35 +08:00
完全没必要用到广播.
方法1: * Activity A 用startActivityForResult()启动Activity B ,然后你把要更新的数据传回到Activity A中. 之后在在A中的onActivityResult里处理界面更新. 方法2: * 用文件进行数据共享,并在Activity A中的Onstart里更新界面. 方法3: * 用数据库进行数据共享,并在Activity A中Onstart里更新界面. 推荐第一种方法. |
2
luckyshq 2014-12-05 09:57:38 +08:00
抱歉看反了 把上面的Activity A和B互换.
|
3
hahastudio 2014-12-05 10:08:09 +08:00
https://developer.android.com/training/basics/firstapp/starting-activity.html
这个? 我记得好像 samples 里面还有一个是在多个 activities 切换的= = |
4
ufo22940268 OP @luckyshq 方法一不成立,因为也许 activity 的跳转是B->C->A
现在我们来研究下方法二和方法三,如果按照这两个这么做的话,那么我们要记录一个数据有没有变化的 flag,总感觉很难管理的样子。 |
5
luckyshq 2014-12-05 10:14:38 +08:00
|
6
iptux 2014-12-05 10:19:44 +08:00
你们都不用Application单例共享数据么?
|
7
ufo22940268 OP @luckyshq 比如说还是B->C->A这样的流程,我们在 A 上登录了,那么这时候退回到 B 上的时候就要判断用户登录状态有没有改变。如果改变了,就需要重新加载数据,如果没有改变,就不需要重新加载
|
9
luckyshq 2014-12-05 10:33:51 +08:00
@ufo22940268 我觉得没必要这样判断,每次回到B就直接重新加载最新的数据就行了,如果你觉得读写数据库/文件开销大了就用个全局静态变量来存取咯.
|
10
jedyu 2014-12-05 10:37:54 +08:00
EventBus
|
11
CtrlSpace 2014-12-05 11:24:23 +08:00
B要显示时在onResume()中判断是否登陆,然后加载UI数据不就得了。
哪里不对? |
12
tudoubudou 2014-12-05 12:17:42 +08:00
11楼的说的没错,onResume判断一下不久可以了?
|
13
zakk1120 2014-12-06 11:04:56 +08:00
otto,解耦合
|
14
hounychang 2014-12-07 23:27:52 +08:00
弃用广播很久了,一直用EventBus
|