Дано: приложение с одной хост-Activity и множеством фрагментов. В одном из фрагментов контент подгружается в WebView. Хотелось бы сделать так, чтобы страница не перезагружалась из Интернета каждый раз, когда пользователь поворачивает устройство.
Stackoverflow предлагает такой ответ:
public class MyFragment extends Fragment {
...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
...
if (savedInstanceState == null) {
mWebView.loadUrl(URL);
} else {
mWebView.restoreState(savedInstanceState);
}
}
@Override
public void onSaveInstanceState(Bundle outState) {
mWebView.saveState(outState);
}
}
Проблема в том, что restoreState точно так же тупо тянет страницу из Интернета (проверял на 4.4.2 и 6.0.1).
Нашел еще такое решение:
www.devahead.com/blog/2012/01/preserving-the-state... Оно сводится к тому, чтобы отключить автоматическое пересоздание Activity и сохранять вдобавок сам WebView. Но это совершенно не вариант, так как у меня ~30 фрагментов и обрабатывать вручную в каждом onConfigurationChanged... Хм...
Это не работает с фрагментами? Или так и должно быть?