public class CityFragmentPagerAdapter extends FragmentStateAdapter { List<Fragment> fragmentList; public CityFragmentPagerAdapter(FragmentManager fm, List<Fragment> fragmentList) { super(fm, fragmentList.get(0).getLifecycle()); this.fragmentList = fragmentList; } @NonNull @Override public Fragment createFragment(int position) { return fragmentList.get(position); } @Override public int getItemCount() { return fragmentList.size(); } }用androidx库怎么写
时间: 2024-03-02 14:54:01 浏览: 118
使用AndroidX库的CityFragmentPagerAdapter代码如下:
```
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.viewpager2.adapter.FragmentStateAdapter;
import java.util.List;
public class CityFragmentPagerAdapter extends FragmentStateAdapter {
List<Fragment> fragmentList;
public CityFragmentPagerAdapter(FragmentActivity fa, List<Fragment> fragmentList) {
super(fa);
this.fragmentList = fragmentList;
}
@NonNull
@Override
public Fragment createFragment(int position) {
return fragmentList.get(position);
}
@Override
public int getItemCount() {
return fragmentList.size();
}
}
```
注意以下几点:
1. FragmentStateAdapter的构造方法需要传入FragmentActivity,而不是FragmentManager。
2. 在createFragment方法中直接返回fragmentList中对应位置的Fragment。
3. getItemCount方法返回fragmentList的大小。
这样修改后就可以在使用ViewPager2时使用CityFragmentPagerAdapter了。
阅读全文