android fragment不執行onResume,onPause

在使用ViewPager+fragment框架時,fragment不執行onResume,onPause,解決辦法如下。

重載setUserVisibleHint方法

@OverridepublicvoidsetUserVisibleHint(booleanisVisibleToUser) {super.setUserVisibleHint(isVisibleToUser);if(isVisibleToUser) {//相當于Fragment的onResume}else{//相當于Fragment的onPause}? ? }


通過閱讀ViewPager和PageAdapter相關的代碼,切換Fragment實際上就是通過設置setUserVisibleHint和setMenuVisibility來實現的,調用這個方法時并不會釋放掉Fragment(即不會執行onDestoryView)。

使用fragmentManager操作fragment的show和hide

@OverridepublicvoidonHiddenChanged(booleanhidden) {super.onHiddenChanged(hidden);if(hidden){//pause}else{//resume}? ? }


需要注意的是第一次創建fragment不會執行此方法。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容