我有一个文件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. CollapsingToolbarLayout + Coordinatorlayout + ViewPager + Fragment
- 3. 在Android中添加ViewPager in Fragment
- 4. Android ViewPager里面ViewPager
- 5. ViewPager in fragment无效无显示
- 6. 如何在Fragment Class中添加ViewPager?
- 7. Listview刷新(在fragment和viewpager中)
- 8. 如何从ViewPager调用Fragment方法?
- 9. ArrayAdapter in Fragment - Android
- 10. Android -Retained headless fragment
- 11. Rails数据库Lifecyle
- 12. Android Fragment不显示任何内容
- 13. Android viewpager片段
- 14. 在同一个布局中显示fragment + viewpager;一个不出现
- 15. 使用Fragment创建简单的listView Android
- 16. Android viewpager没有显示?
- 17. Android ViewPager
- 18. 更改web.config和会话lifecyle
- 19. Android ViewPager不显示
- 20. 使用viewPager与片段android?
- 21. Android - 刷新viewpager内容
- 22. Android的ViewPager显示白屏
- 23. ViewPager中的Android碎片
- 24. 的Android ViewPager刷新片段
- 25. Android的 - NullPointerException在ViewPager
- 26. Android的FragmentPreference和ViewPager
- 27. Android中的Viewpager适配器
- 28. Android Java Viewpager加载在相同的viewPager视图位置
- 29. Android FLAG_KEEP_SCREEN_ON Fragment导航抽屉
- 30. Android - “方法add(int,Fragment)...”
您使用哪种适配器来扩展ViewPager中的片段? –
我正在使用FragmentStatePagerAdapter,在getItemMethod我创建像Document.newInstance();按位置 – Hmm
我已在下面发布答案。请看看。如果您仍然有任何疑问,请随时询问。 –