2016-04-19 3 views
-1

Создано приложение для Android, в котором у меня есть сайт, загруженный через веб-просмотр. Я запустил экран заставки на 5 секунд и установил промежуток между ними, чтобы время, затрачиваемое веб-сайтом на загрузку, было скорректировано.Загрузка экрана всплеска до загрузки webview

Теперь мне нужно отобразить заставку до загрузки страницы и решили удалить страницу с индикатором выполнения. Я работаю со следующим кодом.

public class Splashscreen extends Activity { 

// Set Duration of the Splash Screen 
long Delay = 5000; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    // Remove the Title Bar 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 

    // Get the view from splash_activity.xml 
    setContentView(R.layout.splash); 

    // Create a Timer 
    Timer RunSplash = new Timer(); 

    // Task to do when the timer ends 
    TimerTask ShowSplash = new TimerTask() { 
     @Override 
     public void run() { 
      // Close SplashScreenActivity.class 
      finish(); 

      // Start MainActivity.class 
      Intent myIntent = new Intent(Splashscreen.this, 
        MainActivity.class); 
      startActivity(myIntent); 
     } 
    }; 

    // Start the timer 
    RunSplash.schedule(ShowSplash, Delay); 
} 
} 

Где я могу внести изменения?

+0

где ваш 'WebView'? – JohnnyAW

+0

В mainactivity –

+1

вы понимаете, что 'WebView' начнет загружать URL-адрес только после того, как вы начнете свою основную деятельность? – JohnnyAW

ответ

1

Вы не можете загрузить WebView из другого Activity, пока вы находитесь в своем Splashscreen. Вместо этого вам нужно загрузить свой MainActivity и наложить ваш заставку на ваш WebView.

1

Вы должны сделать заставку и просмотр веб-страниц в том же действии. И чтобы узнать, когда страница будет загружена, этот метод можно использовать с вашим веб-просмотром. Метод

webview.setWebViewClient(new WebViewClient() { 
    @Override 
    public void onPageFinished(WebView view, String url) { 

    } 
}); 

Внутри onPageFinished() вы можете отклонить ваш прогресс бар

Смежные вопросы