728x90

FragmentStatePagerAdapter는 API 27에서 deprecated 되었다.

그렇다면 개선하기 위해서는 어떻게 해야할까?

 

android.support.v13.app.FragmentPagerAdapter was deprecated.

따라서 android.support.v4.app.FragmentPagerAdapter를 쓰자.

 

AndroidX로 따지면,

androidx.fragment.app.FragmentStatePagerAdapter 대신에

androidx.fragment.app.FragmentPagerAdapter 를 쓰는 것.

 

 

만약, 기존소스가 아래와 같다면,

private class MainPagerAdapter extends FragmentStatePagerAdapter {

        MainPagerAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {
            Fragment result = new DummyFragment();
             return result;
        }

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

    }

 

Pager class는 아래와 같이 변경하고,

private class MainPagerAdapter extends FragmentPagerAdapter {

        MainPagerAdapter(@NonNull FragmentManager fm, int behavior) {
            super(fm, behavior);
        }

        @Override
        public Fragment getItem(int position) {
            Fragment result = new DummyFragment();
             return result;
        }

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

    }

Constructor 생성시 behvior에 'BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT'를 추가해주면 된다.

 

 

 

 

Reference

https://stackoverflow.com/questions/51131172/fragmentstatepageradapter-is-deprecated-from-api-27

 

728x90

+ Recent posts