【发布时间】:2011-10-17 12:35:40
【问题描述】:
我正在寻找一些关于处理启动其他片段的片段的最佳方法的建议。
我正在转换一个我开始使用基于 Activity 的方法编写的应用程序,并且已经开始将其转移到使用 Fragments。我有一些 Fragment 用于启动一个新的 Activity,我想将它们移到当前 Fragment 所在的同一视图中启动其他 Fragment。
例如 - 我有一个 Activity,它有一个 WebView,它使用 WebViewClient 来处理内部 js->java 交互。我的 WebViewClient 可以启动其他活动,我曾经这样做过:
i = new Intent(context, GoogleMapActivity.class);
startActivity(i);
这个 webview 活动可以是全屏的,也可以是侧面有菜单的视图,但我希望 webview 尊重布局 - 所以如果菜单存在,它应该在启动新片段时保持存在 - 我只是不不知道编写启动片段的代码的最佳方法。
那么...有没有办法,在 Fragment 中,基本上告诉一个新的 Fragment 加载到与当前 Fragment 相同的空间,或者是否需要与 Activity 进行一些交互?
** 编辑 **
鉴于可以使用几种不同的布局,我并不总是知道应该定位哪个 id 来放置片段 - 因此我需要知道是否有办法在不知道 id 的情况下做到这一点(例如在replace 方法中)。
【问题讨论】: