Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android FragmentPagerAdapter is deprecated

Tags:

java

android

I have a warning: FragmentPagerAdapter is deprecated. Here my code:

package com.sweetieapps.librarianpro;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
import java.util.ArrayList;
import java.util.List;

public class ViewPagerAdapter extends FragmentPagerAdapter {

    private final List<Fragment> fragmentList = new ArrayList<>();
    private final List<String> fragmentListTitles = new ArrayList<>();

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

    @NonNull
    @Override
    public Fragment getItem(int i) {
        return fragmentList.get(i);
    }

    @Override
    public int getCount() {
        return fragmentListTitles.size();
    }

    @Nullable
    @Override
    public CharSequence getPageTitle(int position) {
        return fragmentListTitles.get(position);
    }

    void addFragment(Fragment fragment, String title){
        fragmentList.add(fragment);
        fragmentListTitles.add(title);
    }
}

I found a possible solution here: FragmentPagerAdapter deprecated But it's in Kotlin.

The warning is on the word: super

//Here
super(fm);
like image 420
Steve Rogers Avatar asked Mar 14 '26 05:03

Steve Rogers


2 Answers

As per the FragmentPagerAdapter constrctor documentation:

This constructor is deprecated. use FragmentPagerAdapter(FragmentManager, int) with BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT

So replace super(fm) with:

super(fm, FragmentPagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
like image 63
ianhanniballake Avatar answered Mar 15 '26 19:03

ianhanniballake


It's time to start to move on ViewPager2 - https://developer.android.com/jetpack/androidx/releases/viewpager2

like image 31
Erik Jhordan Rey Avatar answered Mar 15 '26 17:03

Erik Jhordan Rey



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!