java - 从另一个的 onCreate() 方法打开一个新 fragment

标签 java android android-fragments android-intent android-fragmentactivity

我正在尝试从原始 fragment 的 onCreate() 方法自动打开一个新 fragment 。我通过 How do i open a new fragment from another fragment 找到了这段代码.我唯一感到困惑的是资源元素。在这种特殊情况下,R.id.layout 指的是什么?被替换的资源是什么?它要求 containerViewId。那是什么?

    TemplateFragment nextFrag = new TemplateFragment();
    this.getFragmentManager().beginTransaction()
            .replace(R.id.layout, nextFrag, TAG_FRAGMENT)
            .addToBackStack(null)
            .commit();

最佳答案

这是放置 fragment 的布局容器的 ID,即:

        <FrameLayout
            android:id="@+id/layout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>

它应该存在于您的 Activity 布局 xml 中。

在方法 javadoc 中你有:

* @param containerViewId Identifier of the container whose fragment(s) are
* to be replaced.

关于java - 从另一个的 onCreate() 方法打开一个新 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34380078/

相关文章:

java - 我遇到了有关提取国家/地区代码的情况

java - Android:使用按钮单击来迭代不同的消息

java - 同时链接多个方法调用?提供的示例

java - Holder 中发生某些情况时更新 RecyclerView

android - 如何在没有容器( View )ID 的情况下替换当前 fragment ?

android - 单击 fragment 中 ListView 上的事件

java - 当用户从图库上传图像并在textView中显示它们时,如何获取图像名称?

java - 信号量 : Where do I learn about basic concepts such as permits, 公平、闯入等

通过 Selenium 执行测试时,java.lang.ClassCastException : java. base/java.lang.String 无法转换为 org.openqa.selenium.WebElement

android NotificationCompat.Builder getNotification 自动发送通知