2016-03-20 15 views
0

webView.loadDataWithBaseURL()を介してWebビューにデータをロードした直後に、JavascriptをWebビューに挿入しようとしていますが、データのロードが実際に終了した時点を知る方法がありません。このメソッドは同期していますか?メモリから来ているのですぐにロードされるデータに頼ることはできますか?私は注入されたJavascriptがページ上の要素を見ていないかのように思われるので、私は尋ねています。私はそれがJSを注入する前にビューが読み込まれていないためだと仮定しています。webView.loadDataWithBaseURL()で通知

答えて

1

setWebViewClient()を使用してWebViewにWebViewClientを登録し、onPageFinished()を実装して、ページの読み込みが完了したことを知ることができます。

+0

私はそれをすべて実行しました。上で述べたように、loadDataWithBaseURLメソッドを使用してメモリからデータをロードすると、これらのコールバックは呼び出されません。私の質問は、私は任意のコールバックを期待することができますか、またはデータがすぐに読み込まれている場合です。 – Cliff

+0

あなたはonPageFinishedやその他のコールバックについては言及していませんでした。 WebViewは独自のスレッドで非同期をレンダリングするため、コールバックに依存する必要があります。具体的なデータを共有して、正確に何をやっているのか、期待どおりに動かないのか分からない場合は、質問を更新して反映させてください。コードを追加すると常に役立ちます。 –

+0

おっと、私はそれを言及しなかったと思う、それは私の頭の中でしたが、ポストに決してそれを作ったことはありません!私の心からの謝罪!はい私はコールバックを登録していますが、呼び出されているものはありません。私は、Webページを読み込むこの方法に特別なことがあると信じています。 – Cliff