android webview 重定向 多次load问题,解决webview 第二次调用loadUrl页面不刷新的问题...
一個(gè)需求,當(dāng)點(diǎn)擊button按鈕時(shí),希望加載另一個(gè)url。
以下方法可以成功!
@override
public void onclick(view view) {
webview.loadurl(url);
webview.loadurl( "javascript:window.location.reload( true )" );
}
親測(cè)管用!
補(bǔ)充知識(shí):webview.loadurl使用誤區(qū)
當(dāng)使用loadurl加載網(wǎng)頁(yè)的時(shí)候,有時(shí)候會(huì)出現(xiàn)調(diào)用系統(tǒng)瀏覽器加載網(wǎng)頁(yè)的現(xiàn)象,網(wǎng)上大部分的解決方案是 :
webview.setwebviewclient(new webviewclient() {
public boolean shouldoverrideurlloading(webview view, string url)
{
view.loadurl(url);
return true;
}
}
這確實(shí)可以達(dá)到在當(dāng)前webview加載網(wǎng)頁(yè)的效果,但是卻做了多余的工作,以及不合理的返回值。
實(shí)際上,如果你只需要避免啟動(dòng)系統(tǒng)瀏覽器來加載頁(yè)面的情況,只需要這么寫就可以了
webview.setwebviewclient(new webviewclient());
完全不需要另外寫個(gè)類繼承webviewclient,然后在重寫它的方法。
當(dāng)應(yīng)用場(chǎng)景更復(fù)雜的時(shí)候,你就能發(fā)現(xiàn)網(wǎng)上提供的方法的弊端了:
url存在重定向,無法回退
shouldoverrideurlloading(webview view, string url)
的返回值決定了webview是否自動(dòng)處理該url,也就是是否加載。當(dāng)返回true時(shí),由程序處理,當(dāng)返回false時(shí),webview會(huì)自己處理,也就是相當(dāng)于自動(dòng)執(zhí)行了loadurl方法。
以上這篇解決webview 第二次調(diào)用loadurl頁(yè)面不刷新的問題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持萬仟網(wǎng)。
總結(jié)
以上是生活随笔為你收集整理的android webview 重定向 多次load问题,解决webview 第二次调用loadUrl页面不刷新的问题...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 代码片段,Android
- 下一篇: OPPO尝鲜android版本更新,安卓