【質問事項】どのような問題ですか?
WebViewでページ遷移する際に、loadUrlが二回発生しているような挙動がありました。
【再現方法】サンプルソース、再現手順など
以下のように「view.loadUrl(url);」をコメントアウトして実行してみたところ、それでもWebView内で画面遷移しました。
class jsWaffleWebViewClient extends WebViewClient {
private Context appContext = null;
public jsWaffleWebViewClient(Context con) {
super();
appContext = con;
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// HTTP or HTTPS
if (url.startsWith("http://") || url.startsWith("https://")) {
/*------------------------------------------------------------------
2011/10/25
When user click link (<a>), the event come to here,
And set view.loadUrl( xxx ).
However, when the buy one item, event appear twice.
I try to kill this loadUrl, But Can go to next page !!!!
Where the process set `loadUrl` ?
------------------------------------------------------------------*/
// view.loadUrl(url);
return false;
}
boolean b = IntentHelper.run(appContext, url);
if (!b) {
log("loadUrl=" + url);
view.loadUrl(url); // browse url in waffle browser
return false;
}
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
pluginManager.onPageStarted(url);
}
@Override
public void onPageFinished(WebView view, String url) {
pluginManager.onPageFinished(url);
}
}
【調べた事】ここまで調べてみました
WebView内で<a>がタップされたときに、
loadUri がどこで呼ばれてるのかを調べてみましたが、
上記以外の部分のどこで呼ばれてるかが不明でした。
【jsWaffleバージョン】確認したjsWaffleバージョン
1.180
【Androidのバージョン】確認したAndroidバージョン
> Android OS 2.3
【機種名】
Galaxy S2
【その他】