如何在与当前片段相同的空间中加载新片段

Mar*_*tyn 6 android android-fragments

我正在寻找一些关于处理启动其他片段的片段的最佳方法的建议.

我正在转换一个应用程序,我开始使用更多基于活动的方法编写,然后开始将其转移到使用Fragments.我有一些片段用于启动一个新的活动,我想将它们移动到在当前片段所在的同一视图中启动其他片段.

例如 - 我有一个Activity,它有一个WebView,它使用一个WebViewClient来处理内部的js-> java交互.我的WebViewClient可以启动其他活动,我曾经这样做过:

 i = new Intent(context, GoogleMapActivity.class);
 startActivity(i);
Run Code Online (Sandbox Code Playgroud)

这个webview活动可以是全屏的,也可以是侧面有菜单的视图,但我希望webview能够尊重布局 - 所以如果菜单存在,它应该在启动新碎片时保持存在 - 我只是不知道编写启动Fragments的代码的最佳方法.

那么......在片段中,有没有一种方法可以基本上告诉新的片段加载到与当前片段相同的空间中,还是需要与活动进行一些交互?

**编辑**

鉴于可以使用一些不同的布局,我并不总是知道我应该将哪个ID放入片段中 - 因此我需要知道是否有办法在不知道id的情况下执行此操作(如replace例如,方法).

loc*_*ost 6

getFragmentManager().beginTransaction()
   .replace(((ViewGroup) getView().getParent()).getId(), fragment)
   .addToBackStack(null)
   .commit();
Run Code Online (Sandbox Code Playgroud)

这应该用所需的片段替换父容器.