解決webview 第二次調(diào)用loadUrl頁面不刷新的問題
一個需求,當(dāng)點(diǎn)擊Button按鈕時,希望加載另一個Url。
以下方法可以成功!
@Override public void onClick(View view) { webview.loadUrl(url); webview.loadUrl( "javascript:window.location.reload( true )" ); }
親測管用!
補(bǔ)充知識:WebView.loadUrl使用誤區(qū)
當(dāng)使用loadUrl加載網(wǎng)頁的時候,有時候會出現(xiàn)調(diào)用系統(tǒng)瀏覽器加載網(wǎng)頁的現(xiàn)象,網(wǎng)上大部分的解決方案是 :
webView.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }
這確實可以達(dá)到在當(dāng)前webview加載網(wǎng)頁的效果,但是卻做了多余的工作,以及不合理的返回值。
實際上,如果你只需要避免啟動系統(tǒng)瀏覽器來加載頁面的情況,只需要這么寫就可以了
webView.setWebViewClient(new WebViewClient());
完全不需要另外寫個類繼承WebViewClient,然后在重寫它的方法。
當(dāng)應(yīng)用場景更復(fù)雜的時候,你就能發(fā)現(xiàn)網(wǎng)上提供的方法的弊端了:
url存在重定向,無法回退
shouldOverrideUrlLoading(WebView view, String url)
的返回值決定了webview是否自動處理該url,也就是是否加載。當(dāng)返回true時,由程序處理,當(dāng)返回false時,webview會自己處理,也就是相當(dāng)于自動執(zhí)行了loadUrl方法。
以上這篇解決webview 第二次調(diào)用loadUrl頁面不刷新的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Android創(chuàng)建簡單發(fā)送和接收短信應(yīng)用
收發(fā)短信應(yīng)該是每個手機(jī)最基本的功能之一了,即使是許多年前的老手機(jī)也都會具備這項功能,而Android 作為出色的智能手機(jī)操作系統(tǒng),自然也少不了在這方面的支持。今天我們開始自己創(chuàng)建一個簡單的發(fā)送和接收短信的應(yīng)用,需要的朋友可以參考下2016-04-04Android自定義Drawable之在Drawable中部指定透明區(qū)域方法示例
對于不同的屏幕密度、不同的設(shè)備方向,不同的語言和區(qū)域,都會涉及到備選 drawable 資源,下面這篇文章主要給你大家介紹了關(guān)于Android自定義Drawable之在Drawable中部指定透明區(qū)域的相關(guān)資料,需要的朋友可以參考下2018-07-07Android中Binder詳細(xì)學(xué)習(xí)心得
這篇文章主要介紹了Android中Binder詳細(xì)學(xué)習(xí)心得,并分析了Binder的詳細(xì)用法,需要的朋友參考下吧。2018-01-01Android開發(fā)實現(xiàn)ImageView寬度頂邊顯示,高度保持比例的方法
這篇文章主要介紹了Android開發(fā)實現(xiàn)ImageView寬度頂邊顯示,高度保持比例的方法,結(jié)合實例形式分析了Android ImageView界面布局及元素屬性動態(tài)操作兩種功能實現(xiàn)技巧,需要的朋友可以參考下2018-02-02Flutter listview如何實現(xiàn)下拉刷新上拉加載更多功能
這篇文章主要給大家介紹了關(guān)于Flutter listview如何實現(xiàn)下拉刷新上拉加載更多功能的相關(guān)資料,對于新聞列表數(shù)據(jù)的更新和加載更多是必不可少的,而實現(xiàn)下拉刷新與上劃加載更多的方式有很多種,需要的朋友可以參考下2021-08-08