Reputation: 572
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);
Upvotes: 3
Views: 11927
Reputation: 748
It's time to start to move on ViewPager2 - https://developer.android.com/jetpack/androidx/releases/viewpager2
Upvotes: 1
Reputation: 199825
As per the FragmentPagerAdapter constrctor documentation:
This constructor is deprecated. use
FragmentPagerAdapter(FragmentManager, int)
withBEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT
So replace super(fm)
with:
super(fm, FragmentPagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
Upvotes: 11