ページをリロード

広告

現在表示されているページをリロードして再読み込みする方法を確認します。「WebView」クラスで用意されている「reload」メソッドを使います。

--

メソッドの説明は特にありませんが、メソッドを実行すると現在表示しているURLをリロードします。

具体的には次のように記述します。

@Override protected void onCreate(Bundle icicle) {
    super.onCreate(icicle);

    WebView webview = new WebView(this);

    /* ... */

    String url = webview.reload();
}

サンプルプログラム

それでは実際に試してみます。プロジェクトを作成しソースコードを次のように変更しました。

Test10_01.java

package jp.javadrive.android;

import android.app.Activity;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.widget.Button;
import android.view.View.OnClickListener;

public class Test10_01 extends Activity implements OnClickListener{

    private final int FP = ViewGroup.LayoutParams.FILL_PARENT; 
    private final int WC = ViewGroup.LayoutParams.WRAP_CONTENT; 

    private Button buttonReload;
    private WebView webview;

    @Override protected void onCreate(Bundle icicle) {
        super.onCreate(icicle);

        LinearLayout linearLayout = new LinearLayout(this);
        linearLayout.setOrientation(LinearLayout.VERTICAL);
        setContentView(linearLayout);

        buttonReload = new Button(this);
        buttonReload.setText("Reload");
        buttonReload.setOnClickListener(this);

        webview = new WebView(this);
        webview.loadUrl("http://www.yahoo.co.jp/");

        linearLayout.addView(buttonReload, createParam(WC, WC));
        linearLayout.addView(webview, createParam(WC, WC));
    }

    private LinearLayout.LayoutParams createParam(int w, int h){
        return new LinearLayout.LayoutParams(w, h);
    }

    public void onClick(View v) {
        webview.reload();
    }
}

ビルド後にエミュレーター上で実行します。

ページをリロード

初期値として指定したURLが表示されます。上記は後で再読み込みしたことが分かるように広告が表示された場所へ移動しています。

「Reload」ボタンをクリックすると、現在のページを再読み込みして表示します。

ページをリロード

( Written by Tatsuo Ikura )