2016-05-06 7 views
0

Скажите, пожалуйста, как загрузить веб-представление в фоновом режиме. Я сделал приложение, которое использует веб-браузер Android. Проблема заключается в том, что для загрузки webview требуется слишком много времени. , поэтому я не хочу показывать загрузку своего сайта. Вместо этого мне нужно показать заставку и после завершения загрузки веб-страницы, я хочу показать мой полностью загруженный веб-просмотр ... Я попытался onPageStarted (чтобы показать всплеск) и onPageFinished (чтобы скрыть всплеск) его не работает .... Я пробовал метод AsyncTast doItBackground, но он дает мне ошибку, которую он вызвал от Ui THEAD .. Пожалуйста, помогите мне с какой-либо исходный код или пример программы, чтобы сделать это ....Как загрузить веб-представление андроида в фоновом режиме и показать его после его завершения

ответ

0

Использование ниже code- я показал progressDialog, U может управлять в соответствии с вашими требованиями

web = (WebView)v.findViewById(R.id.web); 

      WebSettings settings = web.getSettings(); 
      settings.setJavaScriptEnabled(true); 
      web.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); 

      final AlertDialog alertDialog = new AlertDialog.Builder(getActivity()).create(); 

      progressBar = ProgressDialog.show(getActivity(), getString(R.string.app_name), "Loading..."); 

      web.setWebViewClient(new WebViewClient() { 
       public boolean shouldOverrideUrlLoading(WebView view, String url) { 

        view.loadUrl(url); 
        return true; 
       } 

       public void onPageFinished(WebView view, String url) { 

        if (progressBar.isShowing()) { 
         progressBar.dismiss(); 
        } 
       } 

       @SuppressWarnings("deprecation") 
       public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { 

        Toast.makeText(getActivity(), "Oh no! " + description, Toast.LENGTH_SHORT).show(); 
        alertDialog.setTitle("Error"); 
        alertDialog.setMessage(description); 
        alertDialog.setButton("OK", new DialogInterface.OnClickListener() { 
         public void onClick(final DialogInterface dialog, final int which) { 
          return; 
         } 
        }); 
        alertDialog.show(); 
       } 
      }); 

      web.loadUrl("https://www.facebook.com/Schapp-Demo-451986454993905/");