错误:必需:android:support.v4.FragmentManager,找到:android.app.FragmentManager

时间:2016-07-09 17:22:40

标签: java android android-fragments fragment

 FragmentManager manager = getFragmentManager();

提供错误

  

必需:android:support.v4.FragmentManager
  发现:android.app.FragmentManager

我正在使用API​​ 15

4 个答案:

答案 0 :(得分:7)

使用getSupportFragmentManager(),或将import的{​​{1}}从您拥有的FragmentManager更改为android.support.v4.app.FragmentManager

您需要始终使用本机类或反向端口。你不能混合搭配。

答案 1 :(得分:3)

添加这两个导入

  import android.support.v4.app.FragmentManager;
    import android.support.v4.app.FragmentTransaction;

例如

   FragmentA fragmentA = new FragmentA();
    FragmentManager fragmentManager =getSupportFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
    fragmentTransaction.add(R.id.id_parent_fragment,fragmentA);
    fragmentTransaction.commit();

考虑FragementA是您要在活动中插入的片段,在本例中是活动中的容器id_parent_fragment

答案 2 :(得分:1)

更改

下面的片段活动的导入
 import android.support.app.FragmentActivity;

 import android.support.v4.app.FragmentActivity;

答案 3 :(得分:0)

这为我解决了用viewpager创建片段的问题。

使您的活动扩展AppCompatActivity(),然后使用supportFragmentManager

abstract class YourActivity() : AppCompatActivity() { /*your Activity Code*/ }

然后,在创建带有片段的viewpager时:

 val adapter = ViewPagerAdapter(supportFragmentManager)
 viewPager.adapter = adapter
 sliding_tabs.setupWithViewPager(viewPager)