为了在Android中实现滑动标签,我遵循以下指南:Google Play Style Tabs using TabLayout
在实施时FragmentPageAdapter我遇到了问题,而#34; getItem()"用于返回具有相关位置的片段的方法,在这种情况下为" PageFragment.newinstance(position + 1)"。 PageFragment是一个通用的片段。 问题本身是:
'的getItem(INT)'在' com.myProject.SampleFragmentPagerAdapter'发生冲突 与' getItem(int)'在' android.support.v4.app.FragmentPagerAdapter&#39 ;; 尝试使用不兼容的返回类型
有人可以找出问题所在吗?
我附上了指南的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];
}
}
答案 0 :(得分:11)
解决了,问题是SampleFragmentPagerAdapter
班级使用android.support.v4.app.Fragment
我在android.app.Fragment
课程中使用了PageFragment
。
由于不同的库,导致SampleFragmentPagerAdapter的getItem方法在类型之间发生冲突。
解决方案?从
更改导入行android.app.Fragment
到
android.support.v4.app.Fragmentin PageFragment Class.