1. ホーム
  2. android

[解決済み] ViewPager.setOffscreenPageLimit(0)が期待通りに動作しない

2023-01-07 10:36:31

質問

の中で使っているフラグメントは ViewPager インスタンスで使用するフラグメントはかなりリソースを消費するので、一度に 1 つだけ読み込むようにしたいです。以下を試すと

mViewPager.setOffscreenPageLimit(0);
mViewPager.setAdapter(mPagerAdapter);

私の FragmentStatePagerAdapter.getItem(int position) をオーバーライドする関数は 3 回呼び出されます。 mViewPager.setOffscreenPageLimit(1) . 私はそれが1回だけ呼び出されることを期待します、なぜなら私は0オフスクリーンページを指定したからです。

を呼び出すと、すべてが正しく呼び出されると信じています。 mViewPager.setOffscreenPageLimit(2) , FragmentStatePagerAdapter.getItem(int position) は期待通り5回呼び出されます。

ViewPagerは最低1つのオフスクリーンページを必要としますか、それとも私はここで何か間違ったことをしていますか?

どのように解決するのですか?

ViewPagerは最低1つのオフスクリーンページを必要としますか?

もし私がソースコードを正しく読んでいるなら、LogCatでこのことに関する警告が表示されるはずです、以下のような。

Requested offscreen page limit 0 too small; defaulting to 1