私のアプリケーションにはWebView、インターネットから任意の URL をロードする があります。現在、ネットワークが遅いために、ページの読み込みに時間がかかり、ユーザーに空白の画面しか表示されないことがあります。
ProgressBarロードされる間を表示し、完全にWebViewロードされると非表示にします。ProgessBarWebView
ProgressBarとの使い方は知ってAsyncTaskいますが、ここに問題があります。
これは、私がロードするために使用するコードですWebView。
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebViewClient(new HelloWebViewClient());
mWebView.loadUrl(web_URL);
そして、これは私のカスタムWebViewClientクラスです
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
ここで、 using sを表示ProgressBarAsyncTaskdoInBackGround()しようとすると、myの関数で URL をロードし、関数AsyncTaskの進行状況を表示するコードを指定する必要があると思いonProgressUpdate()ます。
しかし、 doInBackground()は非 UI スレッドで実行され、その中で使用できないため、doInBackground() 内に URL をロードするにはどうすればよいですかmWebView.loadUrl(web_URL)。
助言がありますか?明らかな何かが欠けていますか?私を案内してください。