将全屏片段替换为另一个

时间:2018-04-29 11:55:44

标签: java android android-fragments

我有一个片段(fragment_1),它在主要活动开始时显示并显示全屏布局(layout_1)。现在我添加了一个按钮,单击它将启动一个新片段(fragment_2)并用我的新布局(layout_2)替换整个布局(layout_1)。

我的第一个片段(fragment_1)有一个ScrollView作为我的根视图。

<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:background="#fff"
android:scrollbarSize="0dp"
android:id="@+id/scroll_main"
tools:context=".MainActivity">

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:fitsSystemWindows="true">
....

</RelativeLayout>

</ScrollView>

现在我想在点击按钮上启动一个新片段(fragment_2)并显示另一个布局(layout_2),但我不知道该怎么做。 我的主要活动有这样的框架布局

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/root_container">

我曾经使用

将其设置为我的默认布局
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

在此之后我开始我的第一个片段并显示layout_1。

现在从fragment_1开始我想启动fragment_2并显示layout_2。我已经阅读了在线文章和文档,我无法找到并解决此问题。请注意:“我不想简单地替换我的layout_1的一部分并将其替换为我的layout_2,而我希望我的layout_1完全被替换为按钮点击上的layout_2”

1 个答案:

答案 0 :(得分:0)

替换片段似乎是片段管理器的工作。 这个答案可能会对您有所帮助Replacing a fragment with another fragment inside activity group