Android片段通过getFragmentManager()获取问题

时间:2017-07-09 16:08:41

标签: android android-fragments

我想在相对布局中添加一个片段,这里是我的MainActivity.java:

import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        FragmentManager fragmentManager = getFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

        FragmentOne f1 = new FragmentOne();
        fragmentTransaction.add(R.id.fragment_container, f1);
        fragmentTransaction.commit();

    }
}

当我运行该代码时,我收到了这个错误:

Error:(15, 61) error: incompatible types: android.app.FragmentManager cannot be converted to android.support.v4.app.FragmentManager

如何将片段添加到相对布局中?我尝试将getFragmentManager();更改为getSupportFragmentManager();

也没有用。知道这有什么问题吗?

更新:这是我将getFragmentManager();更改为getSupportFragmentManager();

时所获得的内容

enter image description here

1 个答案:

答案 0 :(得分:1)

检查您的进口商品。您要导入android.support.v4.app.FragmentManager,因此变量FragmentManager fragmentManager的类型为android.support.v4.app.FragmentManager,但getFragmentManager会返回片段管理器android.app.FragmentManager的平台版本,因此这些是不兼容的类型

由于您使用的是AppCompatActivity,因此您应该使用getSupportFragmentManager

你说

  

我试图更改getFragmentManager();进入getSupportFragmentManager();也没用。

“也没用”是什么意思?这应该有用。