Android 片段 - 添加并置于最前面

Android Fragment - add and bring to front

我想要实现的目标应该很简单,但我无法找到解决问题的方法。

我有片段A。当点击片段A的按钮时,显示片段B:

@Override
public void onClick(View v) {
    Fragment fragment = new PostMeasurementFragment();
    FragmentTransaction fragmentTransaction = ((PostActivity)context).getSupportFragmentManager().beginTransaction();
    fragmentTransaction.addToBackStack(null);
    fragmentTransaction.add(R.id.post_container, fragment, "PostMeasurementFragment");
    fragmentTransaction.commit();
}

片段 B 具有透明背景,因此我希望片段 A 在片段 B 后面可见。如果我使用 .replace 而不是 .add,我只能看到片段 B,这是有道理的,因为片段 A 已被删除通过 .replace 方法。当我使用 .add 时,虽然我看不到片段 B,但我知道它在那里是因为 .addToBackStack:我需要单击后退按钮两次以摆脱片段 A,这让我觉得第一次点击是退出片段 B,它我看不到。

鉴于此,我认为片段 B 被添加到片段 A 的后面(或下方,如果你认为它是一堆)。有没有办法把它放在前面?

将 Fragment B 膨胀到 Fragment A 布局中的视图(例如 FrameLayout),其中视图的高度设置为 wrap_content,并且 Fragment 的视图将填充任何必要的大小。在构建 FragmentTransaction 时使用 add()