小弟初学,言语不太专业,请见谅。我在android网站找到了一个实例代码,其中有一行:
mAdapter = new MyAdapter(getFragmentManager());(这行代码在Activity的onCreate方法中)其中mAdapter是一个继承了android.support.v4.app.FragmentStatePagerAdapter的类的实例,他的构造函数直接调用了父类的构造函数,参数是FragmentManager。这时出现一个问题,即:getFragmentManager()获得的是android.app.FragmentManager,而FragmentStatePagerAdapter类需要一个android.support.v4.app.FragmentManager,此处我该如何处理呢?望各位老大指点。---------------------------------------
另外,我采用了临时的处理方法,即:使我的Activity继承android.support.v4.app.FragmentActivity,然后将那行代码改为:
mAdapter = new MyAdapter(this.getSupportFragmentManager())
getSupportFragmentManager()可以得到android.support.v4.app.FragmentManager,找不到解决办法之前,与我遇到同样问题的同学可以参考,亲测可用。

解决方案 »

  1.   

    如果你需要用FragmentStatePagerAdapter
    就必须用FragmentActivity如果你想用Activity
    可以考虑自己写个Adapter继承自PagerAdapter
      

  2.   

    感谢楼上,但是android自己的例子怎么可能会有这种情况呢?我觉得可能还是有什么我没理解的地方,或者我包引用错了等等的情况。
      

  3.   

    getFragmentManager()这个方法在Activity确定是没有的
      

  4.   

    感谢楼上,但这个方法确实是有的,请见:
    http://developer.android.com/reference/android/app/Activity.html#getFragmentManager()
    不过这是最新的API,如果使用3.0(好像)以前的版本应该是没有的。
    继续等待大神的光临。
      

  5.   

    没错这个方法在API11以后的版本是存在的但是如果你的项目设置的最小版本是API11以下的,你又想使用FragmentStatePagerAdapter,你就必须使用support.v4来兼容如果你的软件需要运行在3.0之前的版本你项目中的最小版本就要设置到API11以下