我的导航抽屉项目是片段。我想从活动中启动设置片段,但我不断收到以下错误:
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>
答案 0 :(得分:0)
检查是否在super.onCreate()之后的onCreate块中的MainActivity中完成了此操作
setContentView(R.layout.activity_main);
如果有,您将从哪里进行片段交易?因为似乎您正在尝试访问SettingsFragment中的activity_main布局视图(R.id.content_home)。 SettingsFragment应该仅从其在onCreateView()中膨胀的布局中调用视图。