我有一个文件fragment
它在viewpager
里面,我在应用程序的另一部分中使用相同的Document fragment的实例。我的问题是,在片段我正在注册一个广播接收器,通常我正在取消它的方法在片段中的注册。但是当我切换另一个时,不会调用片段方法。所以下一个片段viewpager
我使用Document fragment的新实例,并且我也创建了接收器的新实例。但onReceive
方法接收器调用viewpager的文件fragment
方法。所以当看看logcat时,我可以看到我无法注销接收者。我如何取消注册接收者,我可以获得已注册的接收者列表吗?Android viewpager fragment lifecyle
0
A
回答
0
尝试在ViewPager的OnPageChangeListener
中注册和取消注册广播接收器。该听众包含3种方法,即onPageScrollStateChanged(int state)
,onPageScrolled(int position, float positionOffset, int positionOffsetPixels)
和onPageSelected(int position)
。使用onPageScrolledStateChanged()
方法。它使用3个状态来监视ViewPager中的碎片。使用SCROLL_STATE_DRAGGING
注销您的BroadcastReceiver和SCROLL_STATE_SETTLING
注册您的BroadcastReceiver。
0
也许你可以在你的片段使用setUserVisibleHint()方法...或者其他的想法,注册OnPageChangeListener对你的看法寻呼机从这个监听器可以manualy调用方法注销您的reciever ...
0
谢谢所有为您的答案,正如你所说我实施OnPageChangeListener
并创建了一个逻辑,它现在工作正常。再次感谢大家,我发布了代码:
@Override
public void onPageSelected(int position) {
Fragment currentFragment = adapterViewPager.getRegisteredFragment(position);
if(currentFragment.getClass()==Document.class){
Log.i (AppConfig.TAG,"Current Fragment is Document");
Document document = (Document)currentFragment;
document.registerDownloadService();
}
if(lastFragment!=null && lastFragment.getClass()==Document.class){
Log.i (AppConfig.TAG,"Previous Fragment is Document");
Document document = (Document)lastFragment;
document.unregisterDownloadService();
}
lastFragment = currentFragment;
}
相关问题
- 1. Android Viewpager OutOfMemoryError Fragment
- 2. ViewPager + Fragment + saveInstanceState
- 3. CollapsingToolbarLayout + Coordinatorlayout + ViewPager + Fragment
- 4. 在Android中添加ViewPager in Fragment
- 5. Android viewPager和Fragment接口加载
- 6. ViewPager with Fragment Android(Func <T,T,T>替代Java(Android))
- 7. 如何用Viewpager和Fragment分割窗口?
- 8. Android ViewPager里面ViewPager
- 9. Mapview Fragment + ViewPager,引起奇怪的交互
- 10. ViewPager Fragment的getItem()被调用两次
- 11. ViewPager NullPointerException修改Fragment中的FragmentActivity
- 12. 如何在Fragment Class中添加ViewPager?
- 13. ViewPager in fragment无效无显示
- 14. ViewPager in fragment类无法正常工作
- 15. 滑动ViewPager时,Fragment不会调用onSaveInstanceState?
- 16. Listview刷新(在fragment和viewpager中)
- 17. 如何从ViewPager调用Fragment方法?
- 18. 使用viewpager和fragment创建一个android小部件
- 19. 在Android ViewPager中使用Fragment和TabLayout滚动滑动不工作
- 20. pre-honeycomb fragment android
- 21. Android Fragment Oncreateview Loadanimation
- 22. Android -Retained headless fragment
- 23. Android - Fragment不saveInstanceState
- 24. ArrayAdapter in Fragment - Android
- 25. GoogleApiClient in Fragment Android
- 26. Android 1.6&Fragment&Tabhost
- 27. Android Reorder Fragment Backstack
- 28. Rails数据库Lifecyle
- 29. Android ViewPager和EditText
- 30. fragmentStatePagerAdapter中的fragment如何从承载viewPager的Fragment中获取数据?
您使用哪种适配器来扩展ViewPager中的片段? –
我正在使用FragmentStatePagerAdapter,在getItemMethod我创建像Document.newInstance();按位置 – Hmm
我已在下面发布答案。请看看。如果您仍然有任何疑问,请随时询问。 –