gpt4 book ai didi

java - 为什么在制作 FragmentPagerAdapter 时出现错误?

转载 作者:行者123 更新时间:2023-11-29 07:40:02 28 4
gpt4 key购买 nike

我正在学习一个教程,这样我就可以在我的 View 中滑动浏览选项卡。它要求我创建 FragmentPageAdapter 的子类 - 在我的例子中:

public class PagerAdapter extends FragmentPagerAdapter {
...
}

我已经实现了所有的抽象方法,但出于某种原因,我收到以下错误:“android.support.v4.app.FragmentPageAdapter”中没有可用的默认构造函数

有谁知道我该如何解决这个问题?非常感谢任何帮助。

最佳答案

如果您没有在类 PagerAdapter 中指定任何构造函数,则使用无参数的默认构造函数,它会查找父类的无参数构造函数,这等效于。

public PagerAdapter(){
super(); // Looks for constructor public FragmentPagerAdapter (){}
}

在父类FragmentPagerAdapter中定义了下面的构造函数

public FragmentPagerAdapter (FragmentManager fm)

现在 java 中的规则是,一旦定义了任何带参数的构造函数,默认的无参数构造函数将不可用,除非您明确定义它。所以这里没有 public FragmentPagerAdapter (){}。这就是为什么 super() 调用无法找到无参数默认构造函数并且您会收到此错误的原因。

要处理这个问题,在您的类 PagerAdapter 中,您需要有构造函数来调用正确的父类(super class)构造函数

public PagerAdapter(FragmentManager fm){
super(fm);
}

关于java - 为什么在制作 FragmentPagerAdapter 时出现错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31231149/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com