WebView不起作用

Android允许使用WebView在应用程序中显示URL的内容。 但是,由于某种原因,它不适合我。 以下是Iam使用的代码:

package com.news;

import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class NewsActivity extends Activity {
    WebView mWebView;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        mWebView = (WebView) findViewById(R.id.webview);
        mWebView.setWebViewClient(new NewsClient());
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.getSettings().setDomStorageEnabled(true);
        mWebView.loadUrl("http://www.androidpeople.com");
    }

    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
            mWebView.goBack();            
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

    private class NewsClient extends WebViewClient {

        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            System.out.println("URL: " + url);
            view.loadUrl(url);
            return true;
        }
    }
}

这很明显!

您正在实现一个新的WebViewClient ,其中您正在重写shouldOverrideUrlLoading方法。 此方法针对您正在加载的每个网址进行调用。 你在那里做什么? 你正在返回true(这意味着加载应该被重写),然后开始加载相同的URL! 因此,url加载永远不会发生。

只要删除该行:

mWebView.setWebViewClient(new NewsClient());

如果未添加,请在您的Android清单中添加以下内容

<uses-permission android:name="android.permission.INTERNET" />

这行必须位于AndroidManifest.xml文件的<manifest>元素中。


添加这一行: mWebView.setWebViewClient(new NewsClient());

shouldOverrideUrlLoading应该return false

链接地址: http://www.djcxy.com/p/26219.html

上一篇: WebView is not working

下一篇: Android How to set a sound as ringtone with long press on button