2016-12-10 42 views
0

アプリがバックグラウンドになり、フォアグラウンドになるたびにWebviewがリロードされます。私は一時停止して状態を保存して、アプリケーションを再開するときにリロードするだけです。可能でしょうか?アプリがバックグラウンドになるとWebviewがリロードされるXamarin

私はそれを行うことができません。どんな助けでも大歓迎です。

protected override void OnCreate(Bundle bundle) 
{  
    if (bundle == null) { //everytime when I load, bundle is null and url is reloaded 
    mapWebView.LoadUrl("url"); 
    } else { 
    mapWebView.RestoreState(bundle); 
    } 
} 

protected override void OnResume() { 
     base.OnResume(); 
     if (mapWebView != null) 
      mapWebView.OnResume(); 

    } 

    protected override void OnPause() 
    { 
     base.OnPause(); 
     if (mapWebView != null) 
     { 
      mapWebView.OnPause(); 
      mapWebView.SaveEnabled = true; 
      mapWebView.SaveState(bundle) //how to get bundle object here to save state 

     } 

    } 

答えて

0

あなたがするときの方法

public override void OnSaveInstanceState (Bundle outState, PersistableBundle outPersistentState) { 
    base.OnSaveInstanceState (outState, outPersistentState); 
} 

毎回をオーバーライドする必要がバンドルを取得するには状態

を救うためにここにバンドルオブジェクトを取得する方法mapWebView.SaveState(バンドル)//アプリはバックグラウンドになり、フォアグラウンドになります.Webviewがリロードされています。私は一時停止して状態を保存し、アプリケーションを再開するときにそれをリロードするだけです。

あなたの質問から、あなたはいつwebviewをリロードしたいのか分かりません。 onPauseとOnResumeは、アプリがバックグラウンド/フォアグラウンドになるたびに呼び出されるためです。

関連する問題