Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android中WebView的单击事件无法获取当前URL_Android_Android Webview - Fatal编程技术网

Android中WebView的单击事件无法获取当前URL

Android中WebView的单击事件无法获取当前URL,android,android-webview,Android,Android Webview,为此,您可以重写WebViewClient类中的某些方法 private WebView wv; public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.infoweblinkview); wv=(WebView) findViewById(R.id.weblinkview); wv.setWebViewClient(new

为此,您可以重写
WebViewClient
类中的某些方法

    private WebView wv;
    public void onCreate(Bundle icicle) {
      super.onCreate(icicle);
      setContentView(R.layout.infoweblinkview);

    wv=(WebView) findViewById(R.id.weblinkview);
    wv.setWebViewClient(new WebViewClient());
    wv.getSettings().setJavaScriptEnabled(true);
    wv.loadUrl(getString(R.string.infourl));


 wv.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    String  previousUrl = wv.getUrl();
                }
            });

}

根据您的要求使用任何此方法,
字符串url
为您提供url

只有在当前Web视图中即将加载新url时才会调用shouldOverrideUrlLoading()方法。因此,要在单个网页应用程序中单击后接收更新的URL,您需要扩展WebChromeClient类并将其实例设置为您的webview。每当URL更新时,就会调用ProgressChanged,在那里您将通过webview获得更新的URL

@Override
        public void onPageFinished(WebView view, String url) {
            // TODO Auto-generated method stub
            super.onPageFinished(view, url);
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            // TODO Auto-generated method stub
            return super.shouldOverrideUrlLoading(view, url);
        }

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            // TODO Auto-generated method stub
            super.onPageStarted(view, url, favicon);
        }
webView?.webChromeClient = QuartzWebChromeClient() 
QuartzWebChromeClient的onProgressChanged()内部可通过webview接收更新的URL

@Override
        public void onPageFinished(WebView view, String url) {
            // TODO Auto-generated method stub
            super.onPageFinished(view, url);
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            // TODO Auto-generated method stub
            return super.shouldOverrideUrlLoading(view, url);
        }

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            // TODO Auto-generated method stub
            super.onPageStarted(view, url, favicon);
        }
webView?.webChromeClient = QuartzWebChromeClient() 

如果Url“xxxxx/dasboard”在点击按钮时变为“xxxxx/feedback”,则上述任何方法都不会收到回调。如何处理?