1

我目前正在尝试在当前加载 Web 视图时显示滚轮进度条。我的代码有一些问题。关于我的代码有什么问题或缺失的任何想法?

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().requestFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
        setContentView(R.layout.activity_main);

这是我在 Web 视图部分的代码。

setProgressBarIndeterminateVisibility(true);
    wv1 = (WebView)findViewById(R.id.wv1);
    wv1.getSettings().setJavaScriptCanOpenWindowsAutomatically(false);
    wv1.getSettings().setSupportZoom(false);
    wv1.getSettings().setSupportMultipleWindows(false);
    wv1.setHorizontalScrollBarEnabled(false);
    wv1.setVerticalScrollBarEnabled(false);
    wv1.getSettings().setUseWideViewPort(true);
    wv1.getSettings().setLoadWithOverviewMode(true);


    final Activity activity = this;

    wv1.setWebViewClient(new WebViewClient() {
        public boolean shouldOverrideUrlLoading(WebView viewx, String urlx) {
            viewx.loadUrl(urlx);
            return false;
        }

        public void onProgressChanged (WebView view, int progress){
            activity.setTitle("Loading..");
            activity.setProgress(progress * 100);

            if (progress == 100) 
                setProgressBarIndeterminateVisibility(false);
            activity.setTitle("My Title");
        }
    }

            );



    wv1.loadUrl(nFeed); 
4

2 回答 2

0

您应该在异步任务中加载 webview 并在 onpreexecute 方法中添加进度条,然后在 onPostexecute 方法中将其关闭

于 2013-08-16T01:12:41.047 回答
0

Cam Connor 的回答不正确。乍一看,您的代码看起来不错。

你知道这个加载轮应该显示在操作栏上吗?您的应用程序中有(大)操作栏吗?

于 2013-08-16T07:34:36.003 回答