我有一个viewpager里面的主要片段。这个viewpager有2页(列表片段)。当我开始活动时,显示主要片段,并且还显示第一个分页片段。此分页片段使用AsyncTask
显示数据库中的数据。片段何时最终附加到活动?
在主片段,我有:
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
onPageSelected(0);
}
@Override
public void onPageSelected(int position) {
Fragment fragment = (Fragment) pagerAdapter.instantiateItem(viewPager, position);
if (fragment instanceof IPagedFragment) {
((IPagedFragment) fragment).onShown(getActivity());
}
}
和接口是:
public interface IPagedFragment {
void onShown(FragmentActivity activity);
}
的第一个问题我是,我要通过活动作为参数,因为当onShown
得到称为,该活动仍然为空。
此外,分页的片段使用类似于LoginActivity样本的进度条逻辑。我也得到了以下异常:
IllegalStateException异常:片段PagedFragment1 {} 4201f758在android.support.v4.app.Fragment.getResources(Fragment.java:620)
未连接到活动 那么,一旦页面片段完全可用于UI,开始从db中检索数据的正确阶段是什么?