2017-02-06 18 views
0

私のアプリには5つのタブを持つViewPagerが含まれています。 (各タブはフラグメントです)。私は本当に速いタブ1、タブ2、タブ3との間にスワイプしたときにエラーで、私のアプリでは私のアプリがクラッシュを enter image description hereフラグメントが選択されていなくてもクラッシュする

Fragment Tab5{a6f4392} not attached to Activity at android.support.v4.app.Fragment.getResources(Fragment

注:どのようなものに見える私はないですこのエラーが発生した場合でもtab4を選択します。私はフラグメントがヌルであるときにそのコンテキストを取得しようとしているので、クラッシュが発生すると思います。しかし、私はtab5またはtab4を選択していない場合、なぜtab5がクラッシュするのでしょうか?

+0

stacktrace、bitte全体を共有します。 – azizbekian

+1

「タブ5またはタブ4を選択していない場合、なぜタブ5がクラッシュするのですか?」 - タブ4がまだ最終位置になく、タブ5がクラッシュした場合、[setOffscreenPageLimit(int)](https://developer.android.com/reference/android/support/v4/view/)が設定されていることを意味します。デフォルトでは1であるため、ViewPager.html#setOffscreenPageLimit(int))は2に設定されています。ページ4を選択するとページ2が破棄され、ページ5がインスタンス化されるため、ページ5がクラッシュします。 – azizbekian

+1

setOffscreenPageLimit()はデフォルトです。しかし、それを4に設定すると、私の解決策が決まりました。 – grant

答えて

2

why would tab5 crash if I am not even selecting tab5 or tab4?

ViewPagerプリロード常に少なくとも1ページ:ビューページャのオフスクリーンページ限界が見たページの各側に、最小可能値にデフォルトで1ページ設定されている(従って、1)。 あなたの場合は、> 1である必要があります。getOffscreenPageLimit()を呼び出して確認してみてください。

関連する問題