3
我在viewpager中有3個片段(使用兼容性庫),第一個片段在應用程序加載時顯示。 第二頁和第三頁有點CPU密集型,所以我想只在用戶先刷到它們時才加載它們的內容。ViewPager的片段似乎打賭分離?
爲了這個,我已經實現ViewPager.OnPageChangeListener和壓倒使用onPageSelected來調用的onResume在片段的onResume的片段
public void onPageSelected(int position) {
getItem(viewPager.getCurrentItem()).onResume();
}
如下:
@Override
public void onResume() {
super.onResume();
if ((MainActivity) getActivity() != null && ((MainActivity) getActivity()).pager != null && ((MainActivity) getActivity()).pager.getCurrentItem() == 1) {
doCpuIntensiveLoading();
}
}
,以防止它加載時實例化並且不可見,但是在頁面的getCurrentItem()返回片段的ID時加載。
但是!當我滾動到頁面getActivity()返回null,儘管片段的菜單已填充,並且菜單調用加載正在工作。
請讓我知道你是否需要更多的細節。