FragmentStatePagerAdapter
はAPI 27から非推奨になりました。FragmentStatePagerAdapter
の代替手段は何ですか?
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;
}
}
上記のコードは、非推奨としてFragmentStatePagerAdapter
、getItem
およびsuper(fm);
を示しています
次のコンストラクタは同じことを行います
super(@NonNull FragmentManager fm)
super(@NonNull FragmentManager fm, BEHAVIOR_SET_USER_VISIBLE_HINT)
BEHAVIOR_SET_USER_VISIBLE_HINT
を渡すことは非推奨になりました。代わりにBEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT
を渡す必要があります。
それらを渡す際の違いはFragmentPagerAdapter
で説明されています:
/**
* Indicates that Fragment#setUserVisibleHint(boolean) will be
* called when the current fragment changes.
*/
@Deprecated
public static final int BEHAVIOR_SET_USER_VISIBLE_HINT = 0;
/**
* Indicates that only the current fragment will be
* in the Lifecycle.State#RESUMED state. All other Fragments
* are capped at Lifecycle.State#STARTED.
*/
public static final int BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT = 1;
延長できます
androidx.fragment.app.FragmentStatePagerAdapter;
そして電話する
super(fragmentManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
クラスのコンストラクター
次のようにMainPagerAdapter
に動作を追加する必要があります。
super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
このクラスは、APIレベル27.1.0で廃止されました。サポートされていたv13 https://developer.Android.com/reference/Android/support/v13/app/FragmentStatePagerAdapter
サポートv4からFragmentStatePagerAdapterを使用します https://developer.Android.com/reference/Android/support/v4/app/FragmentStatePagerAdapter
Documentation によると、Android.support.v13.app.FragmentPagerAdapterは廃止されました。
Android.support.v4.app.FragmentPagerAdapterに置き換えることができます。
これをチェックアウト 公式の文書化。