这是我收到的错误:
java.lang.IllegalArgumentException: No view found for id 0x7f09003d (com.company.app:id/container) for fragment friendFragment{118ad082 #0 id=0x7f09003d}
我进行了一些调试,发现错误来自以下行:
transaction.replace(R.id.container, friendFragment).commit();
在布局xml文件中,我创建了一个名为R.id.container
的片段:
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" />
OnCreate代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//TODO Add Fragment to activity using getSupportFragmentManager() method
FriendFragment friendFragment= new FriendFragment();
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.container, friendFragment).commit(); //This line
使用我的Fragment类:
public static class FriendFragment extends PreferenceFragmentCompat {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.pref_frag_main, "friend_fragment");
}
}
我希望获得有关如何解决此问题的帮助,因为我不知道它为什么会发生?
任何帮助,答案或建议都很棒!
更新: 感谢@MikeM,我解决了这个问题。请参阅以下注释中的解决方案!