保存WebView的状态并重新加载位置

我知道有很多关于这方面的问题,但是他们似乎都已经老了,不再工作 – 至less对我来说。 我想在用户退出或重新加载应用程序后保存webview的位置。 我知道这个代码可以用来保存和加载Webview:

@Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); myWebview.saveState(outState); } 

并在onCreate

 if (savedInstanceState != null) { myWebview.restoreState(savedInstanceState); } 

但是,在Android开发人员Webview页面中,关于saveState的描述如下:

“保存onSaveInstanceState(Bundle)中使用的这个WebView的状态,请注意,这个方法不再存储这个WebView的显示数据,如果restoreState(Bundle)从来没有被调用,以前的行为可能会泄漏文件。

链接 – https://developer.android.com/reference/android/webkit/WebView.html

如果我错了,这是SUPPOSED工作,这可能是我的另一个function的实现,保存在WebView中显示的页面的微调select,并以上面显示的非常类似的方式加载。 也许使用两者都不允许加载WebView的位置,只有页面? 这是我目前保存哪些HTML页面加载到WebView时,用户重新加载应用程序。

onCreate

 if (savedInstanceState != null){ mySpinner.setSelection(prefs.getInt("spinnerSelection", 0)); } 

我的onSaveInstanceState

 @Override public void onSaveInstanceState(Bundle savedInstanceState){ SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getActivity().getBaseContext()); SharedPreferences.Editor editor = getPrefs.edit(); values = Integer.parseInt(getPrefs.getString("pref_Sections", "1")); switch (values) { case 1: int selectedPosition1 = mySpinner.getSelectedItemPosition(); editor.putInt("spinnerSelection1", selectedPosition1); editor.commit(); break; case 2: int selectedPosition2 = mySpinner.getSelectedItemPosition(); editor.putInt("spinnerSelection2", selectedPosition2); editor.commit(); break; } super.onSaveInstanceState(savedInstanceState); } 

有没有人有任何关于这个问题的意见,还是只是不工作了Android开发WebView中所述? 我正在考虑一个math解决方法,但目前这是关于我的专业知识,我不得不更多地了解这一点(加上我不喜欢math一般!)

感谢所有回复!

Solutions Collecting From Web of "保存WebView的状态并重新加载位置"