在使用FragmentPagerAdapter与ViewPager和Material TabLayout时遇到兼容性问题的解决方法如下:
implementation 'com.google.android.material:material:1.4.0'
public class MyPagerAdapter extends FragmentPagerAdapter {
private List fragments;
public MyPagerAdapter(FragmentManager fm, List fragments) {
super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
this.fragments = fragments;
}
@NonNull
@Override
public Fragment getItem(int position) {
return fragments.get(position);
}
@Override
public int getCount() {
return fragments.size();
}
}
TabLayout tabLayout = findViewById(R.id.tab_layout);
ViewPager viewPager = findViewById(R.id.view_pager);
List fragments = new ArrayList<>();
fragments.add(new Fragment1());
fragments.add(new Fragment2());
fragments.add(new Fragment3());
MyPagerAdapter adapter = new MyPagerAdapter(getChildFragmentManager(), fragments);
viewPager.setAdapter(adapter);
tabLayout.setupWithViewPager(viewPager);
通过以上步骤,你应该能够正确地使用FragmentPagerAdapter与ViewPager和Material TabLayout,并解决兼容性问题。