Я хочу запустить свой веб-просмотр в андроиде за всплывающим экраном и открыть WebView после того, как он завершит загрузку страницы.
Bellow - это выдержка из кода, который у меня есть:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl(url);
mWebView.setWebViewClient(new webviewclient());
}
public class webviewclient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
В настоящий момент экран заставки отображается в течение секунды секунды, а затем появляется WebView и начинает загрузку страницы.
Любые предложения о том, как преобразовать это в асинхронный?
Это может быть не самый ЧИСТОЙ ответ, но вы можете иметь представление изображения поверх вашего WebView, которое по существу отображает одно и то же изображение всплеска, проведет проверку выполнения для вас WebView и только отменит отображение ImageView на экране, когда ваш WebView достигнет 100%
Вот ссылка на проверку/реализацию прогресса: панель прогресса Android WebView
Когда когда-либо вы хотите сделать асинхронно, Android AsycTask - ваш лучший выбор для легкой отправной точки. http://developer.android.com/reference/android/os/AsyncTask.html
Подумайте об этом, установив заставку в окне onCreate, выполнив asyncTask, чтобы загрузить webview. Затем в вас onPostExecute вы можете установитьContentView в webview.
надеюсь, это поможет