显示ProgressDialog unitl所有片段都由FragmentPagerAdapter加载

时间:2014-10-11 03:41:34

标签: java android android-fragments android-viewpager fragmentpageradapter

我的应用中有一个ViewPager包含6个Fragments。每个片段仅向用户显示文本信息。我已经为用户提供了保存/共享此信息的选项,但希望确保在共享信息之前加载所有片段。

问题是当信息尚未加载时,显然是NullPointerException,仅仅是因为尚未定义。所以我希望弹出ProgressDialog直到加载片段。

我已设置mViewPager.setOffScreenLimit(),对话框没问题,但如何知道加载所有数据的时间。

这是我正在处理的方法,但它导致ANR,应用程序无响应。感谢您的所有帮助,感谢您的阅读!

private void checkIfAllLoaded() {

    ProgressDialog dialog = new ProgressDialog(this);
    dialog.setTitle("Please wait");
    dialog.setMessage("Please wait while the information is prepared...");
    dialog.setCancelable(false);
    dialog.setIndeterminate(true);
    dialog.show();
    for (int i = 0; i < mAdapter.getCount(); i++) {
        if (!mAdapter.getItem(i).isAdded()) {
            while (!mAdapter.getItem(i).isAdded()) {
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

            }
        }
    }

    dialog.dismiss();
}

0 个答案:

没有答案