为什么切换fragment的时候会调用下一个页面的onResume周期方法?

问题描述

如题 打开第一个页面的时候第二个页面的onResume事件就会触发 打开第二个页面的时候第三个页面的onResume就会触发 fragment的生命周期是onAttach()->onCreate()->onCreateView()->onActivityCreated()->onStart()->onResume() onResume不是应该显示以后可操作的状态时才应该触发的吗?

问题出现的环境背景及自己尝试过哪些方法

我猜测可能viewpager显示fragment的方式是不是同时显示3个 以防止打开下一页的时候出现卡顿?

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)
ViewPager viewPager = findViewById(R.id.viewPager);
viewPager.setCurrentItem(2);

你期待的结果是什么?实际看到的错误信息又是什么?

有没有方法让一个页面打开的时候才触发onResume事件?


青春有我
浏览 1261回答 1
1回答

桃花长相依

我的猜测没错 在打开某一页的时候的确会提前实现下一页的所有生命周期 经过搜索发现真正处理页面显示的方法是setUserVisibleHint:    @Override     public void setUserVisibleHint(boolean isVisibleToUser) {        super.setUserVisibleHint(isVisibleToUser);         ....     }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java