Behy
Behy

Reputation: 483

ViewPager return type mismatch error when using android.support.v4.app.FragmentStatePagerAdapter

I used this example of ViewPager in my app and to solve the

"android.support.v13.app.FragmentStatePagerAdapter error: cannot be resolved error"

used in this post. But I got a new

"return type-mismatch error"

because the create() method returns com.example.ScreenSlidePageFragment:

public class ScreenSlidePageFragment extends Fragment {
    public static final String ARG_PAGE = "page";
    private int mPageNumber;
    public static ScreenSlidePageFragment create(int pageNumber) {
        ScreenSlidePageFragment fragment = new ScreenSlidePageFragment();
        Bundle args = new Bundle();
        args.putInt(ARG_PAGE, pageNumber);
        fragment.setArguments(args);
        return fragment;
    }

which is not compatible with what should be returned in getItem() method:

private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
    public ScreenSlidePagerAdapter(android.support.v4.app.FragmentManager fm) {
        super(fm);
    }

    @Override
    public android.support.v4.app.Fragment getItem(int position) {
        return ScreenSlidePageFragment.create(position);
    }

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

Error

Error:(443, 41) error: incompatible types required: Fragment found:
ScreenSlidePageFragment

Upvotes: 0

Views: 1514

Answers (2)

ʍѳђઽ૯ท
ʍѳђઽ૯ท

Reputation: 16980

android.support.v13.app.FragmentStatePagerAdapter error: cannot be resolved error

You should import this one:

 import android.support.v4.app.FragmentStatePagerAdapter;

Not import android.support.v13.app.FragmentStatePagerAdapter;

Upvotes: 1

Daniel Zolnai
Daniel Zolnai

Reputation: 16920

Make sure to import android.support.v4.app.Fragment in ScreenSlidePageFragment instead of android.app.Fragment.

Upvotes: 2

Related Questions