1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. Gastonet, 09.11.2011 #1
    Gastonet

    Gastonet Threadstarter Erfahrener Benutzer

    Hab in einer Layoutdatei eine WebView, welche auch problemos die erwünschte Seite lädt. Wenn ich mein Smartphone allerdings neige und sich der Bildschirminhalt dreht, dann lädt er komischerweise die Seite neu (und zwar die ursprüngliche URL) :/

    Die URL ist statisch im Code festgelegt und wird mit der onCreate-Anweisung geladen

    Code:
    @Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.nachrichten);
    		String neueadresse = "http://www.google.de";
    		mWebView = 
    				(WebView) findViewById(R.id.wv_startseite);
    		mWebView.setWebViewClient(mViewClient);
    		mWebView.getSettings().setJavaScriptEnabled(true);
    		mWebView.loadUrl(neueadresse);
    	}
    Wie verhindere ich, dass er die Seite neu aufbaut?

    Beste Grüße
     
    Zuletzt bearbeitet: 10.11.2011
  2. nijoX, 10.11.2011 #2
    nijoX

    nijoX Junior Mitglied

    Hallo sel3,
    Um das Neuladen zu verhindern, musst du dir die aktuelle URL immer speichern und dann in der onCreate methode nach dem 1. Aufruf ein flag setzen anhand dessen du dann schauen kannst ... 1. mal aufrufen ? google.de : savedInstanceState. so in der Art. Sollte als denkanstoß reichen :)

    MfG nijoX
     
    Gastonet gefällt das.
  3. Gastonet, 10.11.2011 #3
    Gastonet

    Gastonet Threadstarter Erfahrener Benutzer

    Besten Dank, nijoX!! Hat gut funktioniert :)
     
  4. Gastonet, 10.11.2011 #4
    Gastonet

    Gastonet Threadstarter Erfahrener Benutzer

    Aktuell habe ich es so umgesetzt:

    Code:
    protected void onSaveInstanceState(Bundle outState) {
    		String link = mWebView.getUrl();
    		outState.putString("link", link);
    		super.onSaveInstanceState(outState);
    		Log.d(TAG, "onSaveInstanceState() aufgerufen");
    	}
    	
    	protected void onRestoreInstanceState(Bundle savedInstanceState) {
    		super.onRestoreInstanceState(savedInstanceState);
    		String link = savedInstanceState.getString("link");
    		mWebView.loadUrl(link);
    		Log.d(TAG, "onRestoreInstanceState() aufgerufen");	
    	}
    Das funktioniert wie bereits gesagt. Allerdings ist der Übergang vom Landscape- in den Portraitmodus (und umgekehrt) alles andere als flüssig S:
    Da erscheint für eine Sekunde eine weiße Seite. Gibt es da bestimmte Tricks, wie man das optimieren kann?
     
  5. swordi, 10.11.2011 #5
    swordi

    swordi Gewerbliches Mitglied

    je nachdem was du alles in einer oncreate methode machst.

    das wird ja alles durchlaufen, bevor die activity neu angezeigt wird.
     
    Gastonet gefällt das.
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[OFFEN] Widget zeigt keine ImageView an. Android App Entwicklung 18.09.2017
[OFFEN] Die mit IText G generierte PDF wird vom Windowsexplorer nicht erkannt Android App Entwicklung 23.08.2017
[ERLEDIGT] (Verständnis-)Probleme mit SwipeRefreshLayout Android App Entwicklung 12.08.2017
[ERLEDIGT] Probleme mit Bluetooth / Beam Ordner Android App Entwicklung 25.07.2017
[ERLEDIGT] Probleme mit AdMob Android App Entwicklung 19.07.2017
[ERLEDIGT] Probleme mit Service unter Android N Android App Entwicklung 16.07.2017
[OFFEN] Probleme in den Speicher schreiben Android App Entwicklung 13.07.2017
[ERLEDIGT] Kleine Probleme mit einer App Android App Entwicklung 14.06.2017
[OFFEN] Probleme mit Action Floating Button Android App Entwicklung 27.05.2017
[ERLEDIGT] WebView Probleme Android App Entwicklung 19.05.2017
Du betrachtest das Thema "G-Sensor Probleme" im Forum "Android App Entwicklung",