J'ai essayé d'utiliser onRetainNonConfigurationInstance (retour de la WebView), puis le récupérer avec getLastNonConfigurationInstance pendant onCreate et re-affectation.
Ne semble pas fonctionner pour l'instant. Je ne peux pas aider mais je pense que je suis vraiment très proche! Jusqu'à présent, je viens d'obtenir un blanc/fond blanc WebView à la place. Poster ici dans l'espoir que quelqu'un peut aider à pousser cette un passé la ligne d'arrivée.
Peut-être que je ne devrais pas être en train de passer la WebView. Peut-être un objet dans la WebView?
L'autre méthode que j'ai essayé - pas mon préféré - est à paramétrer dans l'activité:
android:configChanges="keyboardHidden|orientation"
... et puis de faire à peu près rien ici:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// We do nothing here. We're only handling this to keep orientation
// or keyboard hiding from causing the WebView activity to restart.
}
Cela fonctionne, mais il pourrait ne pas être considéré comme une meilleure pratique.
Pendant ce temps, j'ai aussi un seul ImageView que je veux automatiquement mise à jour en fonction de la rotation. Cela s'avère être très facile. Sous mon res
le dossier, j'ai drawable-land
et drawable-port
pour tenir paysage/portrait variations, puis-je utiliser R.drawable.myimagename
pour l' ImageView's source et Android "fait la bonne chose" - yay!
... sauf quand vous regardez pour les modifications de configuration, puis il ne le fait pas. :(
Donc, je suis en désaccord. Utilisation onRetainNonConfigurationInstance et de l' ImageView rotation des œuvres, mais WebView persistance n'est pas ... ou utiliser onConfigurationChanged et la WebView reste stable, mais la ImageView n'est pas mise à jour. Que faire?
Une dernière remarque: Dans mon cas, forçant l'orientation n'est pas un compromis acceptable. Nous voulons vraiment gracieusement le soutien de la rotation. Un peu comme la façon dont le Navigateur Android app ne! ;)