首页 > 解决方案 > 不兼容的类型:getFragmentManager 不起作用

问题描述

导入 android.support.v4.app.FragmentManager 后,它仍然显示有关 getFragmentManager 的错误。它说Required: android.support.v4.app.Fragmentmanager, but Found: android.app.FragmentManager.

这很奇怪,因为后者甚至没有导入到库中。我正在使用 API 15,因此我阅读了其他主题,原因可能是我必须使用 getSupportFragmentManager。

不幸的是,我无法联系 SupportFragmentManager 出了什么问题?可能是导入库的问题?

package com.example.slidenerdinterfrag;

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

public class MainActivity extends Activity implements Communicator{

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

    @Override
    public void respond(String data) {
        FragmentManager manager=getFragmentManager();
        FragmentB f2= (FragmentB) manager.findFragmentById(R.id.fragment2);
        f2.changeText(data);
    }
}

标签: androidfragmentfragmentmanagerincompatibletypeerror

解决方案


改用getSupportFragmentManager _

@Override public void respond(String data) { FragmentManager 
manager=getSupportFragmentManager(); FragmentB f2= 
(FragmentB) manager.findFragmentById(R.id.fragment2); 
f2.changeText(data); }

推荐阅读