【问题标题】:Android Fragments Get Issue With getFragmentManager()Android Fragment 使用 getFragmentManager() 出现问题
【发布时间】:2017-07-09 16:08:41
【问题描述】:

我想在相对布局中添加一个片段,这是我的 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(); 时得到的结果

【问题讨论】:

标签: android android-fragments


【解决方案1】:

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

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

你说

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

“也没有用”是什么意思?应该可以的。

【讨论】:

  • 感谢您的回答。请检查我上面的更新。这是我在手机上看到的。
猜你喜欢
  • 2011-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-13
  • 1970-01-01
  • 2020-02-02
相关资源
最近更新 更多