解决关于getSupportFragmentManager()不可用的问题

问题:

如图所示,导入android.support.v4.app.Fragment包情况下,getSupportFragmentManager()不可用。


getSupportFragmentManager()不可用

解决:

getSupportFragmentManager() 有运用范围,只能在部分activity中运用,不能再activity中运用。当遇到getSupportFragmentManager() 没定义的问题时,修改下activity为FragmentActivity或者AppCompatActivity

image.png

错误原因:

直接继承了Activity


错误原因

知识补充:

在Android开发中,少不了Fragment的运用。
目前在实际运用中,有v-4包下支持的Fragment以及app包下的Fragment,这两个包下的FragmentManager获取方式有点区别,所以在运用的过程中需要注意自己的导的包。

app包下FragmentManager用

Fragmentmanager fragmentManager=getFragmentManager();

v-4包的FragmentManager用

FragmentManager fragmentManager=getSupportFragmentManager() 获取

android.app.Fragment与android.support.v4.app.Fragment区别:

  • 最低支持版本不同

android.app.Fragment 兼容的最低版本是android:minSdkVersion="11" 即3.0版。
android.support.v4.app.Fragment 兼容的最低版本是android:minSdkVersion="4" 即1.6版。

  • 需要导jar包

fragment android.support.v4.app.Fragment 需要引入包android-support-v4.jar

  • 获取manager的方法不同

android.app.Fragment使用getFragmentManager()
android.support.v4.app.Fragment使用getSupportFragmentManager()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容