[解決済み】setWebViewClientとsetWebChromeClientの違いは何ですか?
2022-04-04 17:42:38
質問
とはどう違うのですか?
setWebViewClient
vs.
setWebChromeClient
Androidでは?
解決方法を教えてください。
からの ソースコード :
// Instance of WebViewClient that is the client callback.
private volatile WebViewClient mWebViewClient;
// Instance of WebChromeClient for handling all chrome functions.
private volatile WebChromeClient mWebChromeClient;
// SOME OTHER SUTFFF.......
/**
* Set the WebViewClient.
* @param client An implementation of WebViewClient.
*/
public void setWebViewClient(WebViewClient client) {
mWebViewClient = client;
}
/**
* Set the WebChromeClient.
* @param client An implementation of WebChromeClient.
*/
public void setWebChromeClient(WebChromeClient client) {
mWebChromeClient = client;
}
WebChromeClientを使用すると、Javascriptのダイアログ、ファビコン、タイトル、進行状況を処理することができます。この例を見てください。 WebViewにalert()サポートを追加する
一見したところ、違いが多すぎる
WebViewClient
&です。
WebChromeClient
. しかし、基本的には、あまり多くの機能を必要としないが、HTMLをレンダリングするWebViewを開発する場合、単に
WebViewClient
. 一方、(例えば)レンダリングしているページのファビコンをロードしたい場合は、レンダリングする前に
WebChromeClient
オブジェクトをオーバーライドし
onReceivedIcon(WebView view, Bitmap icon)
.
たいていの場合、そういうことを気にしたくなければ......こうすればいいんです。
webView= (WebView) findViewById(R.id.webview);
webView.setWebChromeClient(new WebChromeClient());
webView.setWebViewClient(new WebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl(url);
そして、あなたのWebViewは(理論的には)すべての機能が(アンドロイドのネイティブブラウザとして)実装されていることになります。
関連
-
[解決済み】カメラサービスへの接続に失敗しました。
-
[解決済み】Couldn't load memtrack module Logcat Error
-
[解決済み] Androidのgravityとlayout_gravityの違いは何ですか?
-
[解決済み] android.os.NetworkOnMainThreadException' を修正するにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み] match_parentとfill_parentの違いは何ですか?
-
[解決済み] SharedPreferencesのcommit()とapply()の違いは何ですか?
-
[解決済み】「px」、「dip」、「dp」、「sp」の違いは?
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Android Studioでパラメータ化されたユニットテストを実行すると、指定されたインクルードに対するテストが見つからないエラーが発生する
-
[解決済み】Android Intent コンストラクタを解決できない
-
[解決済み】Androidエミュレータのエラーメッセージ。"PANIC: Missing emulator engine program for 'x86' CPUS." (パニック: エミュレータ・エンジン・プログラムがありません)
-
[解決済み] 設定 ':classpath' の依存関係をすべて解決できなかった。
-
[解決済み】Android Studio AVD - Emulator: 終了コード 1 でプロセスが終了
-
[解決済み】ビットマップを保存する場所について
-
[解決済み】SDKの場所がandroid studioで見つからない。
-
[解決済み] Android Studioで「URIが登録されていません」と報告されるのはなぜですか?[クローズド]
-
[解決済み] BIOSのセキュリティ設定でVT-xを有効にする(お使いのコンピュータのドキュメントを参照)。
-
[解決済み] Android: @drawable/picture を drawable に変換するのに失敗しました。