FragmentPagerAdapter重写getItem()方法冲突

Sam*_*lPS 4 android android-fragments android-tabs

为了在Android中实现滑动标签,我遵循以下指南:使用TabLayout的Google Play样式标签

在实现FragmentPageAdapter时,我遇到了一个问题,即"getItem()"方法,该方法用于返回具有相关位置的片段,在本例中为"PageFragment.newinstance(position + 1)".PageFragment是一个通用的片段.问题本身是:

"com.myProject.SampleFragmentPagerAdapter"中的"getItem(int)"与"android.support.v4.app.FragmentPagerAdapter"中的"getItem(int)"冲突; 尝试使用不兼容的返回类型

有人可以找出问题所在吗?

我已附加指南的SampleFragmentPagerAdapter以加快检查速度:

    public class SampleFragmentPagerAdapter extends FragmentPagerAdapter {
    final int PAGE_COUNT = 3;
    private String tabTitles[] = new String[] { "Tab1", "Tab2", "Tab3" };
    private Context context;

    public SampleFragmentPagerAdapter(FragmentManager fm, Context context) {
        super(fm);
        this.context = context;
    }

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

    @Override
    public Fragment getItem(int position) {
        return PageFragment.newInstance(position + 1);
    }

    @Override
    public CharSequence getPageTitle(int position) {
        // Generate title based on item position
        return tabTitles[position];
    }
}
Run Code Online (Sandbox Code Playgroud)

Sam*_*lPS 11

解决了,问题是SampleFragmentPagerAdapter班级使用android.support.v4.app.Fragment

android.app.FragmentPageFragment课堂上使用.

这导致SampleFragmentPagerAdapter的getItem方法由于不同的库而在类型之间发生冲突.

解?从中更改导入行

android.app.Fragment 
Run Code Online (Sandbox Code Playgroud)

android.support.v4.app.Fragmentin PageFragment Class.
Run Code Online (Sandbox Code Playgroud)