为了账号安全,请及时绑定邮箱和手机立即绑定

如何在WebView中加载外部网页

/ 猿问

如何在WebView中加载外部网页

叮当猫咪 2019-12-16 09:56:39

我的问题是网页未加载到webview中。


mWebview.loadUrl("http://www.google.com"); 启动网络浏览器...


这是我的活动代码:


import android.app.Activity;

import android.os.Bundle;

import android.webkit.WebView;


public class Main extends Activity {


    private WebView mWebview;


    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);


        mWebview = new WebView(this);

        mWebview.loadUrl("http://www.google.com");

        setContentView(mWebview);

    }   

}

我在清单中添加了所需的权限:


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

如何在WebView中加载外部网页

查看完整描述

3 回答

?
慕沐林林

由于这篇文章,我终于找到了解决方案。这是代码:


import android.app.Activity;

import android.os.Bundle;

import android.webkit.WebResourceError;

import android.webkit.WebResourceRequest;

import android.webkit.WebView;

import android.webkit.WebViewClient;

import android.widget.Toast;

import android.annotation.TargetApi;


public class Main extends Activity {


    private WebView mWebview ;


    @Override

    public void onCreate(Bundle savedInstanceState) {


        super.onCreate(savedInstanceState);


        mWebview  = new WebView(this);


        mWebview.getSettings().setJavaScriptEnabled(true); // enable javascript


        final Activity activity = this;


        mWebview.setWebViewClient(new WebViewClient() {

            @SuppressWarnings("deprecation")

            @Override

            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {

                Toast.makeText(activity, description, Toast.LENGTH_SHORT).show();

            }

            @TargetApi(android.os.Build.VERSION_CODES.M)

            @Override

            public void onReceivedError(WebView view, WebResourceRequest req, WebResourceError rerr) {

                // Redirect to deprecated method, so you can use it in all SDK versions

                onReceivedError(view, rerr.getErrorCode(), rerr.getDescription().toString(), req.getUrl().toString());

            }

        });


        mWebview .loadUrl("http://www.google.com");

        setContentView(mWebview );


    }


}


查看完整回答
反对 回复 2019-12-16
?
45度呼吸

尝试这个


webviewlayout.xml:


<?xml version="1.0" encoding="utf-8"?>

<WebView xmlns:android="http://schemas.android.com/apk/res/android"

         android:id="@+id/help_webview"

         android:layout_width="fill_parent"

         android:layout_height="fill_parent"

         android:scrollbars="none"

/>

在您的活动中:


WebView webView;

setContentView(R.layout.webviewlayout);

webView = (WebView)findViewById(R.id.help_webview);

webView.getSettings().setJavaScriptEnabled(true);

webview.loadUrl("http://www.google.com");

更新资料


添加webView.setWebViewClient(new WebViewController());到您的活动中。


WebViewController类:


public class WebViewController extends WebViewClient {


    @Override

    public boolean shouldOverrideUrlLoading(WebView view, String url) {

        view.loadUrl(url);

        return true;

    }

}


查看完整回答
反对 回复 2019-12-16
?
慕瓜9086354

请使用以下代码:-


Main.Xml


<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical" android:layout_width="fill_parent"

    android:layout_height="fill_parent" android:background="@drawable/background">

    <RelativeLayout android:layout_width="fill_parent"

        android:layout_height="wrap_content" android:background="@drawable/top_heading"

        android:id="@+id/rlayout1">

        <TextView android:layout_width="wrap_content"

            android:layout_centerVertical="true" android:layout_centerHorizontal="true"

            android:textColor="#ffffff" android:textSize="22dip"

            android:textStyle="bold" android:layout_height="wrap_content"

            android:text="More Information" android:id="@+id/txtviewfbdisplaytitle" />

    </RelativeLayout>

    <RelativeLayout android:layout_width="fill_parent"

        android:layout_height="fill_parent" android:layout_below="@+id/rlayout1"

        android:id="@+id/rlayout2">

        <WebView android:id="@+id/webview1" android:layout_width="fill_parent"

            android:layout_height="fill_parent"

            android:layout_weight="1.0" />

    </RelativeLayout>

</RelativeLayout>

MainActivity.Java


public class MainActivity extends Activity {

    private class MyWebViewClient extends WebViewClient {

          @Override

          public boolean shouldOverrideUrlLoading(WebView view, String url) {

              view.loadUrl(url);

              return true;

          }

    }

    Button btnBack;

    WebView webview;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        // TODO Auto-generated method stub

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);


        webview=(WebView)findViewById(R.id.webview1);

        webview.setWebViewClient(new MyWebViewClient());

        openURL();

    }


     /** Opens the URL in a browser */

    private void openURL() {

        webview.loadUrl("http://www.google.com");

        webview.requestFocus();

    }

}

如果有任何查询询问我,请尝试此代码。


查看完整回答
反对 回复 2019-12-16

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信