2013-07-21 76 views
2

我想使用window.loadUrl(“Javascript:window.location.reload(true)”);重新加载webview,但无法执行。我可以得到一些建议或替代解决方案吗?我只是希望按钮重装重新加载web视图窗口Android。重新加载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 

       } 
      }); 
     } 
} 
+0

尝试在'javascript'小写'j'。 – CommonsWare

+0

谷歌它,它有帮助。 – Darpan

+0

谢谢。你是对的。该行应该是小写字母。不幸的是,按钮仍然不能重新加载。 – user2544501

回答

3

也许这是给你的有趣:

他们建议再次调用loadURL()

+0

这是否实际刷新,还是会从缓存中抓取? – Geobits

+1

我想这取决于缓存模式,但继续重新@我贴的链接。 :) –

+0

地理位置,我想这实际上刷新/重新加载webview的HTML目的地在一起。 Jan1337z,感谢您的链接。这是我在 – user2544501

1
@Override 
      public void onClick(View v) { 
       window.loadUrl(window.GetUrl()); 

       // TODO Auto-generated method stub 

      } 
     }); 
0

创建一个函数来调用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"); 
} 
0

只要使用这个重载()方法,

webview.reload();