虽然这已被多次询问,但我无法找到答案来解决我的问题。
我有三项活动,A, B, and C
。
可以从A -> B
获取,也可以从A -> C
获取;无法从B -> C
获取。
一旦我们进入活动C
,退出活动的唯一方法是按下系统后退按钮或通过按工具栏中的后退按钮调用onBackPressed()
。我从未创建另一个Intent从C
启动。因为我从不创建一个Intent,所以我无法调用intent.putExtra(key, value);
我正在尝试在A
中实现某些数据的条件刷新 - 但前提是我们要从B
回来。我怎么能做到这一点?
答案 0 :(得分:1)
您可以使用EventBus轻松地在活动,服务,片段等之间进行通信。它非常易于使用,并且可以轻松完成您的要求。
你只需要发布某个事件,让我们说活动B
@Override onBackPressed()
或者感觉合适的地方。 Eventbus是一个很棒的工具,您应该学会使用它,它将使您受益匪浅。
编辑:我记得我不建议快速修复,因为从长远来看,使用EventBus会更好。
您可以在活动B的onStop中的共享首选项中放置一个值,将活动C中的另一个值放在onStop上,然后在活动A的onResume中获取该值。我不确定这会起作用,但我认为没有理由不这样做。