已經在webview加載了一個網頁,然后需要后端發送指令經行網頁切換,可是就是沒變化。。。。求大神幫忙看一下問題所在。
這是在接收到后端資料時進行的跳轉,代碼是有運行的,log也有列印出來。

這是webview配置


uj5u.com熱心網友回復:
先在PC上看log輸出的網址是否能夠打開,貼出loadWeb(templateUrl)代碼uj5u.com熱心網友回復:
我將templateUrl 換成https://www.baidu.com/ 也是不行的
uj5u.com熱心網友回復:
那就是代碼邏輯有問題,貼出loadWeb函式代碼看看
uj5u.com熱心網友回復:
先在PC上看log輸出的網址是否能夠打開,貼出loadWeb(templateUrl)代碼
我將templateUrl 換成https://www.baidu.com/ 也是不行的
那就是代碼邏輯有問題,貼出loadWeb函式代碼看看
webview配置那個就是loadWeb
uj5u.com熱心網友回復:
先在PC上看log輸出的網址是否能夠打開,貼出loadWeb(templateUrl)代碼
我將templateUrl 換成https://www.baidu.com/ 也是不行的
那就是代碼邏輯有問題,貼出loadWeb函式代碼看看
最下面有個 webView.loadUrl(url);沒貼出來
uj5u.com熱心網友回復:
你在哪里用到了webView.loadUrl(你的templateUrl)webView配置在你初始化WebView之后配置一次就行了
uj5u.com熱心網友回復:
你在哪里用到了webView.loadUrl(你的templateUrl)
webView配置在你初始化WebView之后配置一次就行了

loadWeb的最下面
uj5u.com熱心網友回復:
不懂為啥第一次用loadWeb可以,接著跳轉就不行uj5u.com熱心網友回復:
正常情況應該是這樣的webView=findViewById();
initWebSetting();
webView.loadUrl("第一次加載的頁面");
private void intWebSetting(){
你的WebVIew配置
}
然后在templateUrl賦值之后
webView.loadUrl(templateUrl)
uj5u.com熱心網友回復:
正常情況應該是這樣的
webView=findViewById();
initWebSetting();
webView.loadUrl("第一次加載的頁面");
private void intWebSetting(){
你的WebVIew配置
}
然后在templateUrl賦值之后
webView.loadUrl(templateUrl)
我用了你的方法之后還是不行,最讓人費解的是另外一個地方loadUrl就可以

如果說代碼問題的話,我在有問題的那個loadUrl上下都列印日志都可以列印出來
uj5u.com熱心網友回復:
在日志輸出列印的url時看下chrome的輸出資訊或者是否有報錯用的MVP么?我之前也有碰到過在獲取資料成功之后方法中WebView加載不出來的情況
但是有報錯資訊,添加runOnUiThread(new Runnable() {webView.loadUrl(url)}之后就正常了, 你可以試試
uj5u.com熱心網友回復:
在日志輸出列印的url時看下chrome的輸出資訊或者是否有報錯
用的MVP么?我之前也有碰到過在獲取資料成功之后方法中WebView加載不出來的情況
但是有報錯資訊,添加runOnUiThread(new Runnable() {webView.loadUrl(url)}之后就正常了, 你可以試試
基本沒有任何報錯資訊,用的是mvp
uj5u.com熱心網友回復:
你這個是在子執行緒加載嗎,回到主執行緒試試uj5u.com熱心網友回復:
還有webView加載出錯也會有日志的,你看看日志有沒有webView相關的報錯uj5u.com熱心網友回復:
還有webView加載出錯也會有日志的,你看看日志有沒有webView相關的報錯
現在有一個問題是,如果我先加載百度然后再去跳轉我需要的網頁是能實作的,有反應。但是如果先記載公司自己做的網頁然后再去跳轉其他的就沒反應。那這個是webview的問題嗎?還是本身網頁問題
uj5u.com熱心網友回復:
還有webView加載出錯也會有日志的,你看看日志有沒有webView相關的報錯
因為日志沒報錯才是最讓人頭疼的
uj5u.com熱心網友回復:
還有webView加載出錯也會有日志的,你看看日志有沒有webView相關的報錯
因為日志沒報錯才是最讓人頭疼的
剛剛試了,子執行緒啥都不提示
所以確定肯定是你在子執行緒呼叫的,參考樓上使用runOnUiThread或者handler
uj5u.com熱心網友回復:
還有webView加載出錯也會有日志的,你看看日志有沒有webView相關的報錯
因為日志沒報錯才是最讓人頭疼的
剛剛試了,子執行緒啥都不提示
所以確定肯定是你在子執行緒呼叫的,參考樓上使用runOnUiThread或者handler
還是一樣的效果
uj5u.com熱心網友回復:
個別網頁能跳轉,個別不行uj5u.com熱心網友回復:
把loadUrl替換成這樣試試,看看吐司正常不,debug到toast上看看url是否包含特殊字符
final String url = "https://www.baidu.com";
runOnUiThread(new Runnable() {
@Override
public void run() {
mWebView.postDelayed(new Runnable() {
@Override
public void run() {
Toast.makeText(WebActivity.this, "加載url" + url, Toast.LENGTH_SHORT).show();
mWebView.loadUrl(url);
}
}, 2000);
}
});
uj5u.com熱心網友回復:
把loadUrl替換成這樣試試,看看吐司正常不,debug到toast上看看url是否包含特殊字符
final String url = "https://www.baidu.com";
runOnUiThread(new Runnable() {
@Override
public void run() {
mWebView.postDelayed(new Runnable() {
@Override
public void run() {
Toast.makeText(WebActivity.this, "加載url" + url, Toast.LENGTH_SHORT).show();
mWebView.loadUrl(url);
}
}, 2000);
}
});
老哥 我試了你的方法,Toast出來的就是正確的url 我日志也有打了 感覺mWebView.loadUrl(url);沒起任何效果一樣
uj5u.com熱心網友回復:
老哥 我試了你的方法,Toast出來的就是正確的url 我日志也有打了 感覺mWebView.loadUrl(url);沒起任何效果一樣
那就神奇了,你是不是用錯webview了
你把這段代碼再放在第一次加載成功的后面,看看2秒后會不會換成百度
uj5u.com熱心網友回復:
老哥 我試了你的方法,Toast出來的就是正確的url 我日志也有打了 感覺mWebView.loadUrl(url);沒起任何效果一樣
那就神奇了,你是不是用錯webview了
你把這段代碼再放在第一次加載成功的后面,看看2秒后會不會換成百度
只要有加載第一次的網頁,他就跳轉不出去了
uj5u.com熱心網友回復:
試試在第一次加載之后延時幾秒鐘不做其他任何操作,先clearHistory再加載百度,看是否能加載出來如果還是不行那就無解了,說不定也有可能是你加載的網頁的問題
uj5u.com熱心網友回復:
有出息的黑客大多是從悖論出發的。。。轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/95658.html
標籤:Android
上一篇:微信登錄問題
