【发布时间】:2014-05-06 19:22:01
【问题描述】:
这是一个 Android 设计模式问题。我想将 View 的所有单击事件处理委托给包含 View 的 Activity。这是结构:
根Activity包含一个ListFragment,ListFragment包含一个自定义的WebView,我需要调用一个函数
public void handleClick() {}
当用户单击 WebView 主体上的链接时,在根 Activity 中。我不确定如何在 WebView 中获取对根 Activity 的引用。
这是我的想法:在 ListFragment 中我可以做到
((MainActivity) getActivity()).handleClick();
这意味着自定义的 WebView 应该有对 Fragment 的引用。
但是,我不喜欢引用片段的想法。首先是因为自定义的 WebView 不一定是 ListFragment 的子项。持有对父 Fragment 的引用是没有意义的。第二件事是持有对 Fragment 的引用导致内存泄漏(我不确定)。
那么如何从 WebView 调用 MainActivity 中的方法。
【问题讨论】:
标签: android design-patterns android-fragments