前言
Fragment雖然有onResume和onPause的,但是這兩個方法是Activity的方法,調用時機也是與Activity相同,和ViewPager搭配使用這個方法就很雞肋了,根本不是你想要的效果,這里介紹一種方法。
聲明
歡迎轉載,但請保留文章原始出處:)
博客園:http://www.cnblogs.com
農民伯伯: http://over140.cnblogs.com
正文
繼承setUserVisibleHint方法:
@Override
public void setUserVisibleHint( boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
// 相當於Fragment的onResume
} else {
// 相當於Fragment的onPause
}
}
public void setUserVisibleHint( boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
// 相當於Fragment的onResume
} else {
// 相當於Fragment的onPause
}
}
代碼說明:
通過閱讀ViewPager和PageAdapter相關的代碼,切換Fragment實際上就是通過設置setUserVisibleHint和setMenuVisibility來實現的,調用這個方法時並不會釋放掉Fragment(即不會執行onDestoryView)。