我有一个带有标签指示器的viewPager. ViewPager是带有FragmentPagerAdapter的setAdaper.
我几乎不了解FragmentPagerAdapter的内部是如何工作的.
我注意到邻居片段已恢复(OnResume被调用),即使邻居尚未可见.
我把更新方法放在OnResume中,认为一旦片段是最新的,它就会被更新.
广告横幅刷新
我希望在向左滑动一次或向右滑动一次时,页脚中设置的广告横幅更新.不重建邻居片段(好事).但onResume已被称为避免横幅刷新. loadBannerAd方法在OnResume()方法中.
如何通过片段内的方法仅为当前片段调用方法loadBannerAd()?
编辑:我已经知道mViewPager.setonPagechangelistener().
OnPagechangelistener mOnPagechangelistener = new ViewPager.OnPagechangelistener() { @Override public void onPageSelected(int position) { // this method can be called before the fragment 's onCreateView() } .... };
但是尚未创建片段存在危险.管理是否已在Activty中创建片段会使其失效.
解决方法
你只需使用:
mViewPager.setonPagechangelistener(new OnPagechangelistener() { @Override public void onPageSelected(int index) { // Todo Auto-generated method stub } @Override public void onPageScrolled(int arg0,float arg1,int arg2) { // Todo Auto-generated method stub } @Override public void onPageScrollStateChanged(int arg0) { // Todo Auto-generated method stub } })
然后你可以处理onPageSelected(int index)中发生的事情.
原文地址:https://www.jb51.cc/android/309558.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。