返回类型与FragmentPagerAdapter.getItem(int)不兼容

时间:2013-09-16 02:57:54

标签: android

我在这里关注教程: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'但是如果我这样做,它会在下一行给我一个错误,是这些错误来回循环的连续循环。

任何有关修复此问题的帮助都非常快!提前谢谢!

3 个答案:

答案 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) {