【发布时间】:2017-02-15 22:49:01
【问题描述】:
我希望能够定义一个侦听器(Activity、Fragment 等),并能够在我决定最终调用回调之前将其传递给任意数量的嵌套 Fragment。这样它就可以调用callback.someFunction(),并且不需要知道回调附加到什么Activity 或Fragment。
不过,现在看来,通过一堆Fragments 发送侦听器没有什么好的方法。我最初考虑将它传递给构造函数,但随后监听器引用将在屏幕旋转等配置更改时被取消。
然后我考虑了 onAttach() 方法,但这些方法只能让您访问基础 Activity 的 context,这也不一定符合我的要求。
我还考虑通过newInstance() 传递侦听器(这通常是保存传递到Fragments 的参数的方式,因为getArguments() 的内容通过Bundle 保留了配置更改),但我看不到任何将监听器保存在参数Bundle 中的好方法。
我能做什么?
【问题讨论】:
标签: android android-fragments android-activity callback listener