首页 > 解决方案 > ViewPager 找不到符号类 ScreenSlidePageFragment

问题描述

我正在尝试使用 ViewPager 和 Fragments 开发滑动幻灯片活动。我正在 Android 文档的 ScreenSlideActivity 以下教程中编写此代码。(https://developer.android.com/training/animation/screen-slide

但是在教程的代码中有一个没有定义的方法,我有一个异常说'无法解析符号类ScreenSlidePageFragment'似乎没有定义这个方法,但我不知道怎么写,因为我没有这个方法是做什么的。

我希望有人能帮助我!

@Override
        public Fragment getItem(int position) {
            return new ScreenSlidePageFragment();
        }

这是完整的代码

 package com.flixarts.ar.englishnow;

    import android.os.Bundle;
    import android.support.design.widget.FloatingActionButton;
    import android.support.design.widget.Snackbar;
    import android.support.v4.app.Fragment;
    import android.support.v4.app.FragmentActivity;
    import android.support.v4.app.FragmentManager;
    import android.support.v4.app.FragmentStatePagerAdapter;
    import android.support.v4.view.PagerAdapter;
    import android.support.v4.view.ViewPager;
    import android.support.v4.app.FragmentPagerAdapter;
    import android.support.v7.app.AppCompatActivity;
    import android.support.v7.widget.Toolbar;
    import android.view.View;

    public class ScreenSlideActivity extends FragmentActivity {

        private static final int NUM_PAGES = 3;

        private ViewPager mPager;

        private PagerAdapter pagerAdapter;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_screen_slide);

            mPager = (ViewPager) findViewById(R.id.pager);
            pagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
        mPager.setAdapter(pagerAdapter);
    }

        @Override
        public void onBackPressed() {
            if (mPager.getCurrentItem() == 0) {
                // If the user is currently looking at the first step, allow the system to handle the
            // Back button. This calls finish() on this activity and pops the back stack.
            super.onBackPressed();
        } else {
            // Otherwise, select the previous step.
            mPager.setCurrentItem(mPager.getCurrentItem() - 1);
        }
    }

    private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
        public ScreenSlidePagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {
            return new ScreenSlidePageFragment();
        }


        @Override
        public int getCount() {
            return NUM_PAGES;
        }
    }

}

标签: androidandroid-studio

解决方案


在中定义公共构造函数ScreenSlidePageFragment

 public ScreenSlidePageFragment() {
        // Required empty public constructor
    }

推荐阅读