Android-асинхронный WebView

1

Я хочу запустить свой веб-просмотр в андроиде за всплывающим экраном и открыть 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 и начинает загрузку страницы.

Любые предложения о том, как преобразовать это в асинхронный?

Теги:
multithreading
asynchronous
webview

2 ответа

0
Лучший ответ

Это может быть не самый ЧИСТОЙ ответ, но вы можете иметь представление изображения поверх вашего WebView, которое по существу отображает одно и то же изображение всплеска, проведет проверку выполнения для вас WebView и только отменит отображение ImageView на экране, когда ваш WebView достигнет 100%

Вот ссылка на проверку/реализацию прогресса: панель прогресса Android WebView

  • 0
    Trumpetlicks ваше решение является единственным, который, кажется, работает на Android без каких-либо ошибок выполнения. Для тех, кто сталкивается с такими же проблемами, я бы предложил вам использовать нечто похожее на приведенный ниже код. relentlesshosting.com.au/screenshot/1jNx6K.jpg
  • 0
    Рад слышать, что это помогло :-)
Показать ещё 1 комментарий
1

Когда когда-либо вы хотите сделать асинхронно, Android AsycTask - ваш лучший выбор для легкой отправной точки. http://developer.android.com/reference/android/os/AsyncTask.html

Подумайте об этом, установив заставку в окне onCreate, выполнив asyncTask, чтобы загрузить webview. Затем в вас onPostExecute вы можете установитьContentView в webview.

надеюсь, это поможет

Ещё вопросы

Сообщество Overcoder
Наверх
Меню