Mam aplikację WebView
, która ładuje zawartość dynamiczną i chcę, aby widok pozostał na obrotach urządzenia. Więc napisałem następujące wiersze kodu:Przywracanie stanu przeglądania stron internetowych zawierającego dynamicznie generowany kod HTML
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
mWebView.saveState(outState);
}
iw moim onCreate():
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (savedInstanceState != null) {
if(D.bug){
Log.i(TAG, "Restoring browser state");
}
mWebView.restoreState(savedInstanceState);
} else {
if(D.bug){
Log.i(TAG, "Not restoring browser state");
}
mWebView.loadUrl("file:///android_asset/html/browser_3col.html");
}
return mWebView;
}
Ale to skutecznie odświeża stronę. Chcę przekazać dynamicznie generowany kod HTML.
Zastanawiam się nad wyrzuceniem całego dokumentu HTML przez JavascriptInterface
, przechowywanie go w outState, a następnie ponowne ustawienie go ponownie poprzez JavascriptInterface
.
Czy to byłoby dobre podejście? Czy nie ma metody WebView
, która pozwala mi uzyskać jej wewnętrzny HTML?
Czy kiedykolwiek znalazłeś rozwiązanie, które zachowałoby zmienne javascript i jvascript? – Alexey