第九章,WebView點擊網頁內鏈接跳轉到其他Activity(Android)

在 AndroidManifest.xml中添加網絡權限

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

<LinearLayout 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:orientation="vertical"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/main_button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="start" />

    <WebView
        android:id="@+id/main_web"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>
MainActivity.java

package com.example.webviewdemo01;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;

public class MainActivity extends Activity implements OnClickListener {

	private Button main_button;
	private WebView web_view;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		// 初始化數據
		initView();

	}

	private void initView() {
		// TODO Auto-generated method stub

		main_button = (Button) this.findViewById(R.id.main_button);
		web_view = (WebView) this.findViewById(R.id.main_web);

		// 設置監聽
		main_button.setOnClickListener(this);

	}

	@Override
	public void onClick(View arg0) {
		// TODO Auto-generated method stub

		web_view.loadUrl("http://www.baidu.com");

		// WebChromeClienty用來處理WebView的Javascript的對話框、
		// 網站圖標、網站title、加載進度等,重寫裏面的方法即可
		web_view.setWebChromeClient(new WebChromeClient());// 此方法此處可不寫

		// WebViewClient用來處理WebView各種通知、請求事件等,重寫裏面的方法即可
		web_view.setWebViewClient(new WebViewClient() {

			// 點擊頁面中的鏈接會調用這個方法
			@Override
			public boolean shouldOverrideUrlLoading(WebView view, String url) {
				// TODO Auto-generated method stub

				// 跳轉到另外的activity
				Intent intent = new Intent(getApplication(),
						SecondActivity.class);
				startActivity(intent);

				Log.i("qing", "shouldOverrideUrlLoading..." + url);
				return super.shouldOverrideUrlLoading(view, url);
			}

		});

	}

}
運行截圖:



點擊上面任何一個鏈接


注:第二個activity的代碼和佈局因爲沒寫太多內容,這裏就沒有貼出。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章