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

问题:

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


10186693-6c11127b0628ff3b.png
getSupportFragmentManager()不可用

解决:

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

10186693-f245a32aee26d697.png
image.png

错误原因:

直接继承了Activity


10186693-763570b50cef67c0.png
错误原因

知识补充:

在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()


版权声明:本文为qq_41121204原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。