Open 120660021 opened 9 years ago
不知道我有没有理解对,感觉做个本地缓存就可以满足你的需求了
做个标记就行了!支付成功了!改变下!
楼上说的本地缓存可以,,我第一反应想到的是用一个广播,,,
我的第一反应是单例保存。。。
应用内广播呗
感谢 已经解决
可以使用广播,或者使用 EventBus
EventBus 就可以。简单易通
观察者设计模式应该是比较好的解决方式
本地缓存标记就好了. 因为是不同的页面, 不需要实时更新.
EventBus 完美解决了这个问题
感谢各位热心回答的朋友
mark
EventBus 推荐
EventBus
建议采用:Android support v4 包里面提供的 LocalBroadcastManager 理由:能用官方包解决的问题不要绕路
broadcast 太麻烦。 还是用otto 或者 eventbus。 otto 有Android studio 插件, 比较方便查找
otto eventbus我都是第一次听说,原谅我的无知,你们呢都是通过什么渠道知道这些好用的控件或者集成包呢? @Olaman
這个简单 发个 sendStickyBroadcast或者本地保存(原因是 你在前面操作 你不能保证不可见的Activity被系统回收)
SharedPreferences 的onSharedPreferenceChanged方法 监听
@tclock , otto eventBus 等事件框架,还有观察者模式、android 自带的本地广播都可以做到。将数据写入 SharedPreferences 然后用 onSharedPreferenceChanged 方法监听这种方式也可以做到,只不过数据多了的话有性能问题,而且 onSharedPreferenceChanged 在有些时候是不会被调用的,而且会暴露数据不利于封装和防破解
@kyleinfo 嗯 ,数据多的话是会有性能问题,不过以前我有个项目用这种方式暂时还没遇到不会调用的问题,那个时候项目没有用事件总线,现在用otto了,就不用这种监听的方式了
@PoarryScript https://github.com/Trinea/android-open-project
请教各位大神,需求是这样的 ,比如有4个界面,每个界面都有一个共同的属性,比如是【是否支付】:但是每个界面都是不同接口请求到的数据,而不是通过第一个Activity传递Intent带Bundle过来的,最后一个界面是支付界面,当支付成功后,按返回键,回到之前的界面,其支付状态也相应的改变成已支付,期间不能重新调用接口请求数据。 希望各位大神指点。谢谢