从活动开始片段

时间:2018-12-30 08:51:40

标签: java android android-fragments

我的导航抽屉项目是片段。我想从活动中启动设置片段,但我不断收到以下错误:

java.lang.IllegalArgumentException:未找到片段SettingsFragment {3f879650#2 id = 0x7f09005a}的ID 0x7f09005a(example.com.jay:id / content_home)的视图

我找不到我想要的东西

我启动片段的代码:

            FragmentManager fragmentManager = getSupportFragmentManager();
    FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction();

    SettingsFragment settings= new SettingsFragment();
    fragmentTransaction.add(R.id.content_home , settings);
    fragmentTransaction.addToBackStack(null);
    fragmentTransaction.commit();

布局文件:activity_main.xml

    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout 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:id="@+id/content_home"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorWhite"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="com.example.jay.HomeActivity"
    tools:showIn="@layout/activity_home">
    </FrameLayout>

1 个答案:

答案 0 :(得分:0)

检查是否在super.onCreate()之后的onCreate块中的MainActivity中完成了此操作

setContentView(R.layout.activity_main);

如果有,您将从哪里进行片段交易?因为似乎您正在尝试访问SettingsFragment中的activity_main布局视图(R.id.content_home)。 SettingsFragment应该仅从其在onCreateView()中膨胀的布局中调用视图。