Web视图中的进度栏

时间:2018-06-25 05:27:31

标签: java android

我制作了一个带有标题进度条的webview应用程序,它运行良好,但是在加载网页后,如果我单击网页上的任何链接,则该应用程序将关闭并打开defult浏览器。但点击后我想保留在网页视图页面中。请问如何解决,希望能从这里得到帮助,以解决我的问题。

public class MainActivity extends Activity {

    private WebView webView;
    private EditText urlEditText;
    private ProgressBar progress;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

       // urlEditText = (EditText) findViewById(R.id.urlField);
        webView = (WebView) findViewById(R.id.webView);
        //webView  = new WebView(this);
        progress = (ProgressBar) findViewById(R.id.progressBar);
        progress.setMax(100);

        webView.setWebChromeClient(new MyWebViewClient());


        //Button openUrl = (Button) findViewById(R.id.goButton);


                String url = "http://amrtube.com/result/index.php";
                if (validateUrl(url)) {
                    webView.getSettings().setJavaScriptEnabled(true);
                    webView.getSettings().setJavaScriptEnabled(true); // enable javascript
                    this.webView.getSettings().setAllowFileAccess(true);
                    this.webView.getSettings().setBuiltInZoomControls(true);
                    //this.mWebview.getSettings().setSupportZoom(true);
                    final Activity activity = this;
                    this.webView.setScrollBarStyle(33554432);
                    this.webView.setScrollbarFadingEnabled(false);
                    webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.MEDIUM);

                    webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);

                    webView.loadUrl(url);

                    MainActivity.this.progress.setProgress(0);
                }




            }

            private boolean validateUrl(String url) {
                return true;
            }




    private class MyWebViewClient extends WebChromeClient {





        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
            view.loadUrl(request.toString());
            return true;
        }


        @Override
        public void onProgressChanged(WebView view, int newProgress) {
            MainActivity.this.setValue(newProgress);
            super.onProgressChanged(view, newProgress);
        }
    }
    public void setValue(int progress) {
        this.progress.setProgress(progress);
    }
}

1 个答案:

答案 0 :(得分:0)

以此代替您的行

1         *  expire date: Aug  1 02:00:53 2020 GMT
2         *  expire date: Aug  1 02:00:53 2022 GMT
3         *  expire date: Aug  1 02:00:53 2020 GMT
.
.
.