首页 > 技术文章 > 对于使用Fragment 出现 (无法通过方法调用转换将实际参数********Fragment转换为Fragment)

lanlengran 2016-03-31 10:52 原文

今天我调这个语句的时候出现了一个问题

getFragmentManager().beginTransaction().replace(R.id.activity_second_fragment, new ReaderFragment()).commit();

总是new ReaderFragment()报以下错误:

Error:(21, 48) 错误: 对于replace(int,ReaderFragment), 找不到合适的方法
方法 FragmentTransaction.replace(int,Fragment,String)不适用
(实际参数列表和形式参数列表长度不同)
方法 FragmentTransaction.replace(int,Fragment)不适用
(无法通过方法调用转换将实际参数ReaderFragment转换为Fragment)

但是我的ReaderFragment确实继承了Fragment 

 

public class ReaderFragment extends Fragment {

后来经过询问他人终于发现,原来我ReaderFragment导入的包是

import android.support.v4.app.Fragment;

Error:但是getFragmentManager不能用在V4包下的Fragment。所以现在有两种解决方案

方案一,将导入的V4的Fragment更改为app下的Fragment。

 

方案二,将getFragmentManger方法更改为getSupportFragmentManager()。

好了问题完美解决



推荐阅读