Webview. Feststellen ob die Seite vollständig geladen wurde.

Z

zblack

Gast
Hallo Android Freunde,
Meine App beinhaltet zwei Seiten.
Eine Startseite und die Webview.
Beim Starten der App wird die Startseite solange angezeigt, bis die eine Webseite im Hintergrund vollständig geladen wird. Danach wird die geladene Webseite angezeigt.
Wie kann ich feststellen, ob eine Webseite vollständig geladen wurde ?
Ist sowas überhaupt möglich ?
Mit freundlichen Grüßen.
 
Im WebViewClient gibt es eine Methode
Code:
onPageFinisshed()
oder ähnluich. (Schau mal in der Doku)

Die meldet sich, wenn die seite fertig geladen ist.

Gruß
 
Danke für die antwort.
Wie kann ich eigentlich den Verlauf der Seiten, die ich in der Webview eingegeben habe, anzeigen? Es gibt ja die Methode clearHistory. Also die History zu löschen ist es möglich, dann sollte es eigentlich auch möglich sein die History zu zeigen oder irre ich mich da ?
 
Es gibt einen Danke button ;)

In der Doku finde ich jetzt nichts - habe sie nur überflogen.
Du kannst ja aber alle links, die der user aufruft, in einer Datenbank speichern?!

Gruß
 
Das mit dem Verlauf muss ich noch schauen.
Jetzt mal was anderes.
Wenn die WebView ne Seite öffnet, dann ist es so, als ob die Seite nen wenig nach links verschoben wird und dadurch ein weißes Streifen auf der rechten Seite entsteht.
Kann man das irgendwie ändern ?
 
Es kommt wahrscheinlich drauf an, wie du dein WebView im xml (oder hast du es nur in Java geschrieben?) definierst.
Einfach im xml:
Code:
<WebView
android:layout_height="match_parent"
android:layout_width="match_parent" />
(Es gibt immer noch ein Danke button xD)
 
in xml habe ich jetzt bei width & height beides match_parent geschrieben. Ergebnis ist aber gleich geblieben .
 
Kannst du mal ein screen schicken oder quelltext. Heiteres raten bringt hier auch wenig...

Gruß

P.s.: Der button befindet sich neben dem zitier button xD
 
der weiße streifen ist der platz für die scrollbar
 
swordi schrieb:
der weiße streifen ist der platz für die scrollbar

genau das ist er ja. Kann man den irgendwie abschalten dass er nur dann auftauchen soll wenn der benötigt wird ???
 
Quellcode für die Webview sieht so aus:
Code:
<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:persistentDrawingCache="scrolling" />
Code für die Webview sieht so aus:
Code:
public class Browser extends Activity implements OnClickListener {

	private WebView webView;
	private String starturl = "http://www.google.de";

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.webbrowser);
		webView = (WebView) findViewById(R.id.webview);
		webView.getSettings().setJavaScriptEnabled(true);
		webView.getSettings().setLoadWithOverviewMode(true);
		webView.getSettings().setUseWideViewPort(true);
		webView.setWebViewClient(new WebClient());
		webView.loadUrl(starturl);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.menu, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {

		switch (item.getItemId()) {

		case R.id.zuruck:
			if (webView.canGoBack()) {
				webView.goBack();
			}
			return true;
		}
	}


	private class WebClient extends WebViewClient {
		@Override
		public boolean shouldOverrideUrlLoading(WebView view, String url)  {
			view.loadUrl(url);
			return true;
		}
	}
}
Wenn ich die App am Handy ausführe (im Hochformat) und in google irgendwas suche, und dann das Handy umdrehe, sodass ich das Bild im Querformat habe, dann lande ich wieder auf Startseite von google und muss wieder alles neu eingeben.
Wie kann man das abstellen?
 
keiner eine idee ?
 
Durch das drehen wird die onCreate-Methode aufgerufen. Das ist auch richtig so, da die Activity neu aufgebaut werden muss, weil sich das Seitenverhältnis geändert hat. Du könntest den Wert zwischenspeichern. Das ginge z.B. mit Shared Preferences. Beim Abbau der Activity wird die aktuelle URL gespeichert, beim onCreate wird die Information wieder aus dem Shared Preferences geholt.Hätte sogar den schönen Effekt, dass sogar beim Schließen der App der Wert weiterhin gespeichert bleibt, so das du beim erneuten betreten der Activity wieder auf der letzten besuchten Seite wärst.http://developer.android.com/guide/topics/data/data-storage.html#pref
 
Du kannst auch selbst Google oder?
Anstatt hier jede Methode Funktion zu erfragen einfach mal googlen! Sollte wirklich nicht so schwer sein.
Man das verhindern indem man in der manifest einen Wert einfügt/ändert. Welcher das genau ist weiß ich nicht. Ließ in der Doku, da steht es..

Gesendet von meinem Galaxy Nexus mit der Android-Hilfe.de App
 
IceClaw schrieb:
Du kannst auch selbst Google oder?
Anstatt hier jede Methode Funktion zu erfragen einfach mal googlen! Sollte wirklich nicht so schwer sein.
Man das verhindern indem man in der manifest einen Wert einfügt/ändert. Welcher das genau ist weiß ich nicht. Ließ in der Doku, da steht es..

Gesendet von meinem Galaxy Nexus mit der Android-Hilfe.de App

Naja googlen tue ich jedes Mal, wenn ich irgendwo nicht zurechtkomme und wenn ich nichts finde, dann frage ich eben hier nach. Sorry, wollte niemandem hier mit der Fragerei nerven.
 
soo, das mit dem Scrollbar und mit dem Verschieben der Seite dadurch nach links lässt sich mit folgendem Code abstellen: webView.setVerticalScrollBarEnabled(false);
Ich vermute das mit dem Umdrehen des Handys lässt sich auch mit dem Aufruf irgendeiner Funktion abstellen. Habe die WebviewSettings Funktionen durchgeguckt, habe aber noch nix Passendes gefunden.
 
Man das verhindern indem man in der manifest einen Wert einfügt/ändert.
Lies mal :)
Solltest dir die AndroidManifest durchlesen und nicht die WebviewSettings ;)

Gruß
 
oh gott, das ist noch einfacher als ich das überhaupt vorgestellt habe. android:configChanges="orientation" und das Problem ist weg.
IceClaw danke. Habe echt woanders gesucht :D
 

Ähnliche Themen

K
Antworten
3
Aufrufe
1.148
Kapikalaani
K
H
Antworten
0
Aufrufe
917
HoustonWeHaveAProblem
H
A
Antworten
3
Aufrufe
674
swa00
swa00
Zurück
Oben Unten