问题描述:
练习使用Fragment时,发现日志中报错:
Caused by: android.app.Fragment$InstantiationException: Trying to instantiate a class com.example.myapplication.leftFragment that is not a Fragment
报错原因:
Fragment是Android3.0(API Level 11)才开始引入,旧的API不能直接使用android.app.Fragment;
而兼容低版本的Fragment放在了android.support.v4.jar的兼容包;
但是Android的布局文件中使用的<fragment>节点默认是使用android.app.Fragment中的Fragment。
如果想使用android.support.v4.app.Fragment,需要相应Activity继承android.support.v4.app.FragmentActivity;
解决方法:
1.更改默认的import androidx.fragment.app.Fragment为android.app.Fragment;
2.不更改默认Fragment包的情况下,相应Activity继承FragmentActivity。
参考:
浙公网安备 33010602011771号