Gibbsnich
Ambitioniertes Mitglied
- 0
Hallo,
meine App lässt sich bisher in allen Dialogen und Listen beliebig drehen.
Nun kommt eine transparente WebView als neues Fenster dazu und dabei soll die aktuelle Position eingefroren und somit weiteres Drehen verhindert werden.
Die neue View wird über einen Button angefordert und das geht so:
In der Methode onActivityResult setze ich nach der Rückkehr mit
die Rotation wieder frei.
Zunächst sieht das auch gut aus und ein Drehen findet nicht mehr statt.
Aber: Wenn ich nach Aufruf der WebView das Handy drehe und dann die View beende, dreht sich die App (noch ok) und die WebView wird erneut aufgerufen (gar nicht ok)!
Das passiert immer, wenn die WebView nach einer Drehung geschlossen wird. Ab dem 2. Mal ist der Hintergund (die darunterliegende Liste) nicht mehr zu sehen, sondern alles bleibt schwarz.
Was mache ich da falsch und warum wird das Fenster erneut angezeigt?
meine App lässt sich bisher in allen Dialogen und Listen beliebig drehen.
Nun kommt eine transparente WebView als neues Fenster dazu und dabei soll die aktuelle Position eingefroren und somit weiteres Drehen verhindert werden.
Die neue View wird über einen Button angefordert und das geht so:
Code:
public void showXmlMessage(String message) {
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
} else {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
Intent i = new Intent(
getApplicationContext(),
FormWebView.class);
if (message != null) {
i.putExtra(FormWebView.INTENT_RES_MESSAGE, message);
this.startActivityForResult(i, FormWebView.INTENT_RESCODE);
}
}
Code:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
Zunächst sieht das auch gut aus und ein Drehen findet nicht mehr statt.
Aber: Wenn ich nach Aufruf der WebView das Handy drehe und dann die View beende, dreht sich die App (noch ok) und die WebView wird erneut aufgerufen (gar nicht ok)!
Das passiert immer, wenn die WebView nach einer Drehung geschlossen wird. Ab dem 2. Mal ist der Hintergund (die darunterliegende Liste) nicht mehr zu sehen, sondern alles bleibt schwarz.
Was mache ich da falsch und warum wird das Fenster erneut angezeigt?