4

这是我的代码。我得到一条红线new MainFragment();,错误Type mismatch: cannot convert from WishlistFragment to Fragment如下:

Fragment newfragment = new MainFragment();   

这是我的 MainFragment.java 文件的样子:

public class MainFragment extends Fragment {
    public MainFragment() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
        return inflater.inflate(R.layout.fragment_main, container, false);
    }
}

关于为什么会发生这种情况的任何想法?我有一种感觉,这是我正在查看的一些愚蠢的东西,而我现在只是在漫长的一天中对代码视而不见。

4

2 回答 2

21

确保两个地方都在导入同一个Fragment类。感觉有点像在一个地方导入android.app.Fragment(原生 API 级别 11 版本的片段)和在其他地方导入android.support.v4.app.Fragment(来自 Android 支持包的片段)。

于 2012-07-11T00:10:37.127 回答
8

找出了问题......我的 MainActivity.java 文件正在使用:

import android.support.v4.app.Fragment;

我的 MainFragment.java 文件正在使用:

import android.app.Fragment;

所以出现了不匹配。我使用 ICS 4.0 及更高版本作为我的最低 API 版本。将所有内容更改为导入 v4 API 解决了我的问题。

于 2012-07-11T00:12:11.227 回答