为了在android中实现滑动标签,我遵循以下指南:Google Play Style Tabs using TabLayout
在实现FragmentPageAdapter时,我遇到了“getitem()”方法的问题,该方法用于返回具有关联位置的片段,在本例中为“pagefragment.newInstance(position+1)”。是一个普通的片段。
问题本身是:
“com.myproject.sampleFragmentPageRadapter”中的“getitem(int)”发生冲突
“android.support.v4.app.FragmentPageRadapter”中有“getitem(int)”;
试图使用不兼容的返回类型
有人能找出问题在哪里吗?
我已附上指南中的示例碎片页radapter,以便快速检查:
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];
}
}
最佳答案
解决了,问题是SampleFragmentPagerAdapter
类使用android.support.v4.app.Fragment
我在上课的时候用了。
这导致samplefragmentpageradapter的getitem方法由于不同的库而在类型之间发生冲突。
解决方案?更改导入行
android.app.Fragment
到
android.support.v4.app.Fragmentin PageFragment Class.