Retener completamente WebView en fragmento tras rotación

Actualmente tengo un WebView colocado en un fragmento como este:

@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRetainInstance(true); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mContext = container.getContext(); LayoutInflater mInflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); LinearLayout view = (LinearLayout) mInflater.inflate(R.layout.post_view_layout, container,false); view.setBackgroundColor(Color.WHITE); _viewCache = view; _post_WebView = (WebView) view.findViewById(R.id.post_webview); setupWebView(_post_WebView); //This method sets up the webview (javascript mode etc.) and set the url to load return view; } 

Ahora, cada vez que giro, la actividad que contiene este fragmento se vuelve a crear (no puedo usar el configChanges="orientation" para el manifiesto porque estoy usando ABS) Debido a setRetainInstance(true) el fragmento, su diseño y todas las variables get retained fine and all, pero cada vez que intento desplazarme o hacer clic en el WebView retenido obtengo una BadTokenException (probablemente porque la actividad original utilizada para su contexto se destruye durante la rotación).

Podría solucionar esto simplemente recreando el WebView con el nuevo contexto de actividad después de la rotación, pero como la webview muestra un formulario de entrada, volver a crearlo después de la rotación puede resultar tedioso para los usuarios. (Ya intenté guardar el estado utilizando los métodos saveState y restoreState de la WebView, pero sin éxito)

¿Hay alguna manera de restaurar o conservar el WebView en su estado de pre-rotación completa sin generar una BadTokenException , al igual que lo haría cuando el configChanges="orientation" se ha agregado?

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.