首页 > 解决方案 > 继承片段的类在片段适配器中被认为是不兼容的

问题描述

所以我一直在尝试使用谷歌的这个教程来开发类似于谷歌日历dailyView的功能,使用ViewPager。我的片段 java 文件是直接从教程中复制的,但我的布局文件具有不同的名称。

public class DaySliderFragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        ViewGroup rootView = (ViewGroup) inflater.inflate(
                R.layout.single_day_content, container, false);

        return rootView;
    }
}

我的 Fragment 适配器 java 文件也是从教程中复制下来的,如下所示

public class DaySliderFragmentAdapter extends FragmentStatePagerAdapter {

    private static final int NUM_PAGES = 2;

    public DaySliderFragmentAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        return new DaySliderFragment();
    }

    @Override
    public int getCount() {
        return NUM_PAGES;
    }
}

在 getItem 方法中,我收到一条错误消息,指出 DaySliderFragment 不是兼容类型(片段)。为什么会这样?我似乎找不到我的代码与教程中提供的代码之间的任何差异。我错过了什么吗?

标签: androidandroid-fragmentsandroid-viewpager

解决方案


经过一番谷歌搜索并仔细查看我的代码后,我发现问题实际上出在导入语句中,而不是代码本身。

我需要使用

import android.support.v4.app.Fragment;

代替

import android.app.Fragment;

在 DaySliderFragment.java


推荐阅读