3

我想使用window.loadUrl("Javascript:window.location.reload(true)"); 重新加载 webview 但无法执行。我可以得到一些建议或替代解决方案吗?我只是想让按钮重新加载以重新加载 webview窗口

谢谢,下面的Java:

   package com.fortunecaster.android;

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.webkit.WebChromeClient;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;
    import android.widget.Button;

    public class FcastActivity extends Activity { 

    WebView window;
    Button reload;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fcast);

        window = (WebView)findViewById(R.id.webView1);
        window.getSettings().setJavaScriptEnabled(true);
        window.getSettings().setLoadWithOverviewMode(true);
        window.getSettings().setUseWideViewPort(true);
        window.setWebViewClient(new WebViewClient());
        window.setWebChromeClient(new WebChromeClient());
        window.getSettings().setAppCacheEnabled(true);


        try {
        window.loadUrl("http://www.fortunecaster.com/android-td");
        } catch (Exception e) {
            e.printStackTrace();

            //setup button
            reload = (Button)findViewById(R.id.button1);
            //set onClickListener
            reload.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    window.loadUrl("Javascript:window.location.reload( true )");

                    // TODO Auto-generated method stub

                }
            });
      }
}
4

4 回答 4

6

只需使用这个reload()方法,

webview.reload();
于 2017-05-13T17:10:54.710 回答
3

也许这对你来说很有趣:

他们建议再次调用loadURL()

于 2013-07-21T17:46:43.293 回答
1
@Override
            public void onClick(View v) {
                window.loadUrl(window.GetUrl());

                // TODO Auto-generated method stub

            }
        });
于 2015-07-10T19:44:11.070 回答
1

创建一个函数来调用 webView,并重用它。

此外,您需要使用 webView.reload(); 在编码之前刷新(使其为空)webView 页面。

protected void setWebView(){
   window = (WebView)findViewById(R.id.webView1);
   window.reload(); // this make empty window, 
                    // so if you call setWebView() again, 
                    // you might rebuild new webview from here.
   window.getSettings().setJavaScriptEnabled(true);
   window.getSettings().setLoadWithOverviewMode(true);
   window.getSettings().setUseWideViewPort(true);
   window.setWebViewClient(new WebViewClient());
   window.setWebChromeClient(new WebChromeClient());
   window.getSettings().setAppCacheEnabled(true);
   window.loadUrl("http://www.fortunecaster.com/android-td");
}
于 2016-01-27T07:11:02.600 回答