1. 程式人生 > >Android WebView載入網頁,實現前進、後退、重新整理、超連結

Android WebView載入網頁,實現前進、後退、重新整理、超連結

你也可以檢視我的其他同類文章,也會讓你有一定的收貨!

  1. 先在要顯示網頁的佈局檔案中宣告WebView
  2. 在Activity中例項化WebView
  3. 呼叫WebView的loadUrl( )方法,設定WevView要顯示的網頁
  4. 為了讓WebView能夠響應超連結功能,呼叫setWebViewClient( )方法,設定 WebView檢視
  5. 在用WebView的網頁開啟連線後想要具有返回原來的網頁的功能,可通過覆蓋Activity類的onKeyDown()方法,如果不做任何處理,點選手機自帶的返回按鍵,瀏覽器則會呼叫finish()關閉瀏覽器,而不是回退到上一頁面
  6. 要訪問到網路還需要在AndroidManifest.xml檔案中新增許可權,否則會出現Web page not available錯誤。

目的:實現用webview顯示網頁,並且回退時回到上一個頁面,而不是退出WebView ,位址列也沒有。

mWebView.goBack(); //後退
mWebView.goForward();//前進
mWebView.reload(); //重新整理

package com.example.netconnect3;

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

public
class MainActivity extends Activity { private WebView webview; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //2、在Activity中例項化WebView setContentView(R.layout.activity_main); webview = (WebView) findViewById(R.id.webview); //第2步也可以替換為下面這兩句,就不要R.layout.activity_main佈局檔案了
//mwebview = new WebView(this); //例項化WebView物件 //setContentView(mwebview); // 設定WebView屬性,能夠執行Javascript指令碼 webview.getSettings().setJavaScriptEnabled(true); //3、 載入需要顯示的網頁 webview.loadUrl("http://www.baidu.com/"); ///4、設定響應超連結,在安卓5.0系統,不使用下面語句超連結也是正常的,但在MIUI中安卓4.4.4中需要使用下面這條語句,才能響應超連結 webview.setWebViewClient(new HelloWebViewClient()); } @Override // 設定回退 // 5、覆蓋Activity類的onKeyDown(int keyCoder,KeyEvent event)方法 public boolean onKeyDown(int keyCode, KeyEvent event) { //按下返回鍵並且webview介面可以返回 if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) { webview.goBack(); // goBack()表示返回WebView的上一頁面 return true; } return super.onKeyDown(keyCode,event); } // Web檢視 private class HelloWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } } }

佈局檔案:


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />
    <WebView
        android:id="@+id/webview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        />"

</RelativeLayout>

還有許可權:

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

關注我的公眾號,輕鬆瞭解和學習更多技術
這裡寫圖片描述