我在这里关注教程:http://www.javacodegeeks.com/2013/04/android-tutorial-using-the-viewpager.html 我在“问题”中得到此错误:返回类型与FragmentPagerAdapter.getItem(int)不兼容 这是MyPageAdapter.java:
package com.example.loginandregistration;
import java.util.List;
import android.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
public class MyPageAdapter extends FragmentPagerAdapter {
private List<Fragment> fragments;
public MyPageAdapter(FragmentManager fm, List<Fragment> fragments) {
super(fm);
this.fragments = fragments;
}
@Override
public Fragment getItem(int position) {
return this.fragments.get(position);
}
@Override
public int getCount() {
return this.fragments.size();
}
}
错误在第25行:
public Fragment getItem(int position) {
当我打开快速修复时,它给了我一个选项“将'getItem(...)'的返回类型更改为'Fragment'但是如果我这样做,它会在下一行给我一个错误,是这些错误来回循环的连续循环。
任何有关修复此问题的帮助都非常快!提前谢谢!
答案 0 :(得分:8)
更改此行
import android.app.Fragment;
到这一行
import android.support.v4.app.Fragment;
发生此错误是因为您正在使用支持包中的FragmentPagerAdapter
,因此它只能从支持包中返回Fragment
类。
答案 1 :(得分:-1)
FragmentPagerAdapter
期望getItem返回支持片段。
您将返回一个不支持的片段。
从以下位置更改导入:
import android.app.Fragment;
到
import android.support.v4.app.Fragment;
答案 2 :(得分:-1)
将片段的导入更改为
import android.support.v4.app.Fragment;
即使这不起作用,也要将返回类型更改为
public android.support.v4.app.Fragment getItem(int position) {