Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 扩展FragmentPagerAdapter遇到缺少超级构造函数的问题_Android_Fragmentpageradapter - Fatal编程技术网

Android 扩展FragmentPagerAdapter遇到缺少超级构造函数的问题

Android 扩展FragmentPagerAdapter遇到缺少超级构造函数的问题,android,fragmentpageradapter,Android,Fragmentpageradapter,今天早些时候,我在PagerAdapter中发布了关于更新幻灯片的信息,并在这里进行了指导: 我曾试图修改我的FragmentPagerAdapter扩展类,以对该页面上的类进行建模,但我的构造函数遇到了一个问题。请参阅下面代码中的注释,了解我收到的错误。我不确定为什么它会在上面的页面上工作,但对我来说不是 private class ScreenSlidePagerAdapter extends FragmentPagerAdapter { ContestEntriesModel en

今天早些时候,我在PagerAdapter中发布了关于更新幻灯片的信息,并在这里进行了指导:

我曾试图修改我的FragmentPagerAdapter扩展类,以对该页面上的类进行建模,但我的构造函数遇到了一个问题。请参阅下面代码中的注释,了解我收到的错误。我不确定为什么它会在上面的页面上工作,但对我来说不是

private class ScreenSlidePagerAdapter extends FragmentPagerAdapter {
    ContestEntriesModel entries;

    //this yields an error in eclipse that says "Implicit super constructor
    // FragmentPagerAdapter() is undefined. Must explicitly invoke 
    //another constructor   
    public ScreenSlidePagerAdapter(ContestEntriesModel Entries) {
        this.entries = Entries;
    }

    @Override
    public long getItemId(int position) {
        return entries.entries[position].ContestEntryId;

    }

    @Override
    public int getItemPosition(Object object) {
        android.support.v4.app.Fragment f = (android.support.v4.app.Fragment)object;
        for(int i = 0; i < getCount(); i++){

            android.support.v4.app.Fragment fragment = getItem(i);
            if(fragment.equals(f)){

                return i;
            }
        }
        return POSITION_NONE;
    }


    @Override
    public android.support.v4.app.Fragment getItem(int position) {

        long entryId = getItemId(position);
        //Log.d("EntryIds",Integer.toString(entryId));
        if(mItems.get(entryId) != null) {
            return mItems.get(entryId);
        }
        Fragment f = ScreenSlidePageFragment.create(position);
        mItems.put(entryId, f);
        return f;
    }

    @Override
    public int getCount() {
        return NUM_PAGES;
    }
}
私有类ScreenSlidePagerAdapter扩展了FragmentPagerAdapter{
竞赛中心模型条目;
//这会在eclipse中产生一个错误,即“隐式超级构造函数”
//FragmentPagerAdapter()未定义。必须显式调用
//另一个构造器
公共屏幕SlidePagerAdapter(竞赛中心模型条目){
this.entries=条目;
}
@凌驾
公共长getItemId(int位置){
返回条目。条目[position]。竞赛条目ID;
}
@凌驾
public int getItemPosition(对象){
android.support.v4.app.Fragment f=(android.support.v4.app.Fragment)对象;
对于(int i=0;i
我对android/java还是很熟悉,所以我不完全确定这意味着什么。我写这道新题是因为我不想背着上一道题

短暂性脑缺血发作


编辑:我还尝试使用ArrayList完全匹配该示例,但得到了相同的错误。

我不确定为什么原始代码实际上没有得到您的错误,但您可以尝试以这种方式更改代码,以修复错误,并调用超级构造函数,正如错误所示:

用此构造函数替换您的构造函数,它应该可以工作:

public ScreenSlidePagerAdapter(FragmentManager fm, ContestEntriesModel Entries) {
    super(fm);
    this.entries = Entries;
}