首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓应用程序开发- WebView不起作用

安卓应用程序开发- WebView不起作用
EN

Stack Overflow用户
提问于 2011-03-25 11:04:00
回答 5查看 4.1K关注 0票数 9

Android允许使用WebView在应用程序中显示URL的内容。但是,出于某种原因,它对我不起作用。下面是Iam使用的代码:

代码语言:javascript
复制
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;
        }
    }
}
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-03-25 11:36:42

很明显!

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

只需删除这一行:

代码语言:javascript
复制
mWebView.setWebViewClient(new NewsClient());
票数 4
EN

Stack Overflow用户

发布于 2011-03-25 11:15:06

如果不添加以下内容,则将其添加到android清单中:

代码语言:javascript
复制
<uses-permission android:name="android.permission.INTERNET" />

这一行必须位于AndroidManifest.xml文件的元素内。

票数 0
EN

Stack Overflow用户

发布于 2015-09-29 13:31:14

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

shouldOverrideUrlLoading应该return false

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5431577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档