Android 从xml文件中删除片段会导致java.lang.IllegalArgumentException

Android 从xml文件中删除片段会导致java.lang.IllegalArgumentException,android,android-fragments,Android,Android Fragments,我有一个FragmentActivity,它有一个FrameLayout,按钮上有一个片段和一个横幅: 我使用framelayout视图来保存片段,而不是片段视图,因为我想在某些情况下执行片段替换,所以它必须是动态的。在此之前,我有一个片段,看起来像这样: <fragment xmlns:tools="http://schemas.android.com/tools" android:id="@+id/fragment_forecast" android:name="

我有一个FragmentActivity,它有一个FrameLayout,按钮上有一个片段和一个横幅:


我使用framelayout视图来保存片段,而不是片段视图,因为我想在某些情况下执行片段替换,所以它必须是动态的。在此之前,我有一个片段,看起来像这样:

<fragment xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/fragment_forecast"
    android:name="packagename.AlarmListFragment"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0"
    tools:context="packagename.AlarmListFragment"
    tools:layout="@layout/fragment_list" />

每次尝试加载主屏幕时删除片段后,我都会出现以下错误:

找不到id为0x7f0d007b的视图(packageName:id/alarm\u detail\u容器)

即使id为alarm_detail_容器的framelayout与此布局无关。它仅存在于平板电脑的布局上。
有人能告诉我为什么会发生这种情况吗?

我知道ID是如何重新生成的。尝试清理项目。智能手机和平板电脑版本有两种不同的布局吗?您必须确保代码不会在smartohonesTried中运行以清理项目。没有帮助。智能手机的代码只能在智能手机上运行。
<fragment xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/fragment_forecast"
    android:name="packagename.AlarmListFragment"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="0"
    tools:context="packagename.AlarmListFragment"
    tools:layout="@layout/fragment_list" />