WebViewでページ読み込み完了時に何かする
アンドロイド話です。
WebViewはブラウザの機能を提供するビューです。
さらにWebのロード完了とかのイベントを拾うにはWebViewClientを継承したクラスを作ってonPageFinished()メソッドなどを実装します。
ソースをのせてみます。
package com.example.AndroidTest;
import android.app.*;
import android.os.*;
import android.view.*;
import android.webkit.*;
public class AndroidTest extends Activity {
private WebView webView;//Webビュー
//初期化
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
requestWindowFeature(Window.FEATURE_NO_TITLE);
//Webビューの生成
webView=new WebView(this);
//WebViewClientの関連づけ
webView.setWebViewClient(new ViewClient());
//Webページ読み込み
webView.loadUrl("http://mixi.jp/");
setContentView(webView);
}
//WebViewClientを継承
public final class ViewClient extends WebViewClient {
@Override
public void onPageFinished(WebView view , String url){
//ロード完了時にやりたい事を書く
}
}
}
WebViewのイベントを拾うのに、イベント拾う用のクラス(コールバックインターフェース)を使うというのがポイントですかね。
今まで触ってきた環境には無かった構成なので少し戸惑いました。
WebViewはブラウザの機能を提供するビューです。
さらにWebのロード完了とかのイベントを拾うにはWebViewClientを継承したクラスを作ってonPageFinished()メソッドなどを実装します。
ソースをのせてみます。
package com.example.AndroidTest;
import android.app.*;
import android.os.*;
import android.view.*;
import android.webkit.*;
public class AndroidTest extends Activity {
private WebView webView;//Webビュー
//初期化
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
requestWindowFeature(Window.FEATURE_NO_TITLE);
//Webビューの生成
webView=new WebView(this);
//WebViewClientの関連づけ
webView.setWebViewClient(new ViewClient());
//Webページ読み込み
webView.loadUrl("http://mixi.jp/");
setContentView(webView);
}
//WebViewClientを継承
public final class ViewClient extends WebViewClient {
@Override
public void onPageFinished(WebView view , String url){
//ロード完了時にやりたい事を書く
}
}
}
WebViewのイベントを拾うのに、イベント拾う用のクラス(コールバックインターフェース)を使うというのがポイントですかね。
今まで触ってきた環境には無かった構成なので少し戸惑いました。