我有一個文件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
我已在下面發佈答案。請看看。如果您仍然有任何疑問,請隨時詢問。 –