为什么我不能在Android上实例化这个片段?

时间:2012-07-11 00:00:27

标签: java android eclipse android-fragments

这是我的代码。我在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);
    }
}

为什么会发生这种情况的任何想法?我感觉这是一种愚蠢的东西,我正在寻找,而且我现在只是在漫长的一天中代码盲目。

2 个答案:

答案 0 :(得分:21)

确保两个地方都导入相同的Fragment课程。感觉有点像在一个地方导入android.app.Fragment(本机API级别11版本的片段),在其他地方你导入android.support.v4.app.Fragment(来自Android支持包的片段)。 / p>

答案 1 :(得分:8)

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

import android.support.v4.app.Fragment;

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

import android.app.Fragment;

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