我在ViewPager中有一些片段,并且发现片段的 onActivityCreated 和 onCreateView 都在我期望的页面上被调用.
I have a few Fragments in a ViewPager, and I've found the Fragment's onActivityCreated and onCreateView are both being called on the page before I expect.
例如,当ViewPager从页面2过渡到页面3时,则将调用页面4的 onCreateView 和 onActivityCreated 上的Fragment.
For example, when the ViewPager transitions from page 2 to 3, then the Fragment at page 4's onCreateView and onActivityCreated are being called.
我打算在 onActivityCreated 中发起网络请求,但它启动一个屏幕的时间过早.根据 Android文档, onActivityCreated 被称为创建片段的活动并实例化该片段的视图层次结构时".这使我相信我正确使用了该方法.
I'm intending to initiate a network request in onActivityCreated but it is starting one screen too soon. According to the Android docs, onActivityCreated is called "when the fragment's activity has been created and this fragment's view hierarchy instantiated." which leads me to believe I'm using the method correctly.
推荐答案ViewPager加载下一个片段以在片段之间进行平滑过渡,这就是为什么下一个片段的 onCreate(), onCreateView()和 onResume()被调用.因此,在您的viewPager上添加 onPageChangeListener :
ViewPager loads the next fragment for smooth transition between fragments, and that's why your next fragment's onCreate(), onCreateView() and onResume() is getting called. So, add onPageChangeListener on your viewPager like:
yourViewPager.addOnPageChangeListener(new OnPageChangeListener{ @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {} @Override public void onPageSelected(int position) { switch(position){ //your code for network operation } } @Override public void onPageScrollStateChanged(int state) {} });更多推荐
何时应调用Fragment的onActivityCreated?
发布评论