gpt4 book ai didi

android - 如何在 fragment 中将 ProgressDialog 与 webview 一起使用

转载 作者:行者123 更新时间:2023-11-30 04:03:04 24 4
gpt4 key购买 nike

现在我想在 webview 中显示一个页面,加载需要一些时间,同时我想显示一个 progressDialog。我能做的最好的是下面的代码,但问题是我在 onCreateView 中执行它,所以 progressDiealog 只显示直到创建 View ,这不是我想要的。我知道我必须在 onActivityCreated 中使用它,但我不确定该怎么做,在此先感谢大家

public class someFragment extends SherlockFragment {
Context context;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup group, Bundle saved)
{
View v = inflater.inflate(R.layout.some_layout, group, false);
final ProgressDialog pd = ProgressDialog.show(getActivity(), "", "Loading", true);

final WebView myWebView = (WebView) v.findViewById(R.id.webViewsome);
myWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
pd.dismiss();
}
});

myWebView.getSettings().setPluginsEnabled(true);
myWebView.getSettings().setBuiltInZoomControls(false);
myWebView.getSettings().setSupportZoom(false);
myWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.getSettings().setAllowFileAccess(true);
myWebView.getSettings().setDomStorageEnabled(true);
myWebView.setInitialScale(25);

myWebView.getSettings().setDefaultZoom(ZoomDensity.FAR);

myWebView.loadUrl("http://www.test.com/test-0.jpg");

return v;
}
}

最佳答案

SomeFragment 中试试这个:

private class MyWebViewClient extends WebViewClient {

@Override
public void onPageFinished(WebView view, String url) {
//remove your progressdialog here
super.onPageFinished(view, url);
}

@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
//show your progressdialog here
super.onPageStarted(view, url, favicon);
}

}

然后:

webView.setWebViewClient(new MyWebViewClient());

关于android - 如何在 fragment 中将 ProgressDialog 与 webview 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12176982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com