Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android viewpager片段刷新,但不应刷新_Android_Android Fragments_Navigation_Android Viewpager - Fatal编程技术网

Android viewpager片段刷新,但不应刷新

Android viewpager片段刷新,但不应刷新,android,android-fragments,navigation,android-viewpager,Android,Android Fragments,Navigation,Android Viewpager,我有一个带有4个片段的viewpager。 当我在第4个片段上,我在第3个片段上通过滑动返回,物理上,它显示第3个片段,但第2个片段刷新,导致NullPointerException,因为我不在该片段上 当我从第3次到第2次,从第2次到第1次做完全相同的事情时,它工作得非常完美 以前有人遇到过这样的问题吗 使用ViewPager时,默认情况下,它将在当前项目之前和之后加载一个项目。您可以使用更改此行为,谢谢您的回答。既然片段已经创建好了,为什么在我刚回来的时候它们会被刷新?@HubertSole

我有一个带有4个片段的viewpager。 当我在第4个片段上,我在第3个片段上通过滑动返回,物理上,它显示第3个片段,但第2个片段刷新,导致NullPointerException,因为我不在该片段上

当我从第3次到第2次,从第2次到第1次做完全相同的事情时,它工作得非常完美


以前有人遇到过这样的问题吗

使用
ViewPager
时,默认情况下,它将在当前项目之前和之后加载一个项目。您可以使用

更改此行为,谢谢您的回答。既然片段已经创建好了,为什么在我刚回来的时候它们会被刷新?@HubertSolecki我不是100%确定Android是如何处理的,我的猜测可能是当你滚动太远时片段会被解构,从而节省内存?您是否检查了在回刷时是否调用了
onCreate
?这可能是一种解释。这取决于您使用的viewpager适配器。FragmentPagerAdapter会将所有内容保留在内存中,而FragmentStatePagerAdapter不会。