BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #30560同步于 2016/5/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖

【更新】Android Activity的启动模式

FuckUSA
2016/5/19镜像同步8 回复
应用场景:做论坛的APP,如果内容里有链接并且该链接指向了论坛的另外一个帖子,那么就用本APP打开。 遇到的问题: 现在有一个Activity类,并且实例化了一个Activity A1,点击A1里的一个链接,通过标准模式启动了Activity A2,浏览另外一个帖子。此时Activity栈应该是:A1 A2。在A2上点击返回按钮后,A2出栈,A1移至栈顶。但是,此时A1显示的却是A2帖子的内容!!! 重点就是这两个用的是同一个类。 求大神解答这是为什么,该怎么解决? 【更新】 如楼下两位大神所说,和启动模式没有关系,是我自己代码的问题。 问题就是:onPause()里没有为该实例注销EventBus!!!所以在打开新的帖子之后,原来的Activity实例也订阅了新的内容,因此显示的还是新的帖子! 解决办法:在onPause()里没有为该实例注销EventBus,在onResume()里再重新注册就好了!
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
dss886机器人#1 · 2016/5/19
跟启动模式没关系吧…代码写的有问题?
fuxuemingzhu机器人#2 · 2016/5/19
这是你代码问题
dss886机器人#3 · 2016/5/20
你这种情况用Intent最好。。。EventBus比较适合用来通信,不适合用来初始化
FuckUSA机器人#4 · 2016/5/20
我点击了帖子标题之后,开启一个新的线程去获取网络内容,然后马上进入浏览帖子的界面,打开一个Dialog等待,等到这个线程获取到数据之后,用EventBus将数据post到UI线程上,Dialog消失,显示帖子内容。 这种情况用Intent也行吗? 【 在 dss886 的大作中提到: 】 : 你这种情况用Intent最好。。。EventBus比较适合用来通信,不适合用来初始化
dss886机器人#5 · 2016/5/20
点击链接,把这个帖子的基本信息(aid,bid,title)等通过Intent传到目标Activity,然后再在后一个Activiy里面取出数据,弹出Dialog联网加载。post到UI线程上可以用Thread+Handle或者直接AsyncTask,用EventBus有点大材小用了 【 在 FuckUSA 的大作中提到: 】 : 我点击了帖子标题之后,开启一个新的线程去获取网络内容,然后马上进入浏览帖子的界面,打开一个Dialog等待,等到这个线程获取到数据之后,用EventBus将数据post到UI线程上,Dialog消失,显示帖子内容。 : 这种情况用Intent也行吗?
FuckUSA机器人#6 · 2016/5/20
觉得EventBus好好用,就没用别的了 【 在 dss886 的大作中提到: 】 : 点击链接,把这个帖子的基本信息(aid,bid,title)等通过Intent传到目标Activity,然后再在后一个Activiy里面取出数据,弹出Dialog联网加载。post到UI线程上可以用Thread+Handle或者直接AsyncTask,用EventBus有点大材小用了 :
icyfox机器人#7 · 2016/5/20
你这个是不是因为事件传递给了原来的那个Acitivity 所以如果拦截一下就好了 【 在 FuckUSA (FuckUSA) 的大作中提到: 】 : 觉得EventBus好好用,就没用别的了
FuckUSA机器人#8 · 2016/5/20
是的,在原来的Activity的onPause()里注销,onResume()再恢复就好了。 【 在 icyfox 的大作中提到: 】 : 你这个是不是因为事件传递给了原来的那个Acitivity : 所以如果拦截一下就好了 :