延迟弹出一个对话框片段,直到内部的webview完成加载

时间:2015-06-20 08:51:52

标签: android android-fragments android-webview android-dialogfragment

我有一个对话框片段,它基本上只包含一个Web视图。我希望只有在Web视图加载完URL后才会弹出对话框。

这是onCreateView

DialogFragment
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.dialog_A, container, false);

    webView = (WebView) view.findViewById(R.id.web_view);
    webView.clearCache(true);
    webView.loadUrl(url);
}

我遇到的问题是,只有在调用onCreateView()方法后才会创建Web视图对象,只有在调用show()后才会调用该方法。这反过来会导致对话框弹出。

在弹出对话框之前,我是否可以预先加载网页视图?

1 个答案:

答案 0 :(得分:0)

由于片段的DialogFragment,我不会使用LifeCycle。您希望在向用户显示之前加载WebView。因此,我会使用visibility=GONE的CustomLayout,然后当WebView(布局内)完成加载时,我会淡化布局。使用FrameLayout并将其放在层次结构的顶部。