Über Tabhost bestimmte URL in Webview laden

blackfire185

blackfire185

Stamm-User
40
Hallo Leute,
ich habe folgende Frage und komme mit googeln einfach nicht mehr weiter:

Ich habe einen Tabhost mit 3 Tabs.

Im ersten ist eine Webview
Im zweiten ist eine Button.

Wenn man den Button drückt, soll man auf die Webview im ersten Tab geleitet werden und eine Webseite soll angezeigt werden (nicht die gleiche, die normalerweise im ersten Tab angezeigt wird).

Dies geht ja normalerweise über Intents und Extras, doch wenn ich ein Intent für die Seite mit der Webview mache, startet sie im Vollbildmodus und der TabHost ist nicht mehr da.

Wie kann ich also von dem 2. Tab in den ersten wechseln und die Activity neu starten lassen, um die Url aus dem Extra auszulesen?

Danke für eure Hilfe
mfg
 
Hast du eine Activity für alle Tabs oder eine eigene Activity für jeden Tab?
 
TabActivity

Und dann einzelne Activitys für jeden Tab.

Verzeihung, vergessen zu Erwähnen.
 
Also, am schönsten wäre es natürlich die URL über ein Extra mitzugeben, allerdings weiß ich in diesem Fall auch nicht wie man das machen könnte.

Deshalb würde ich es folgendermaßen lösen:
In der Parent-TabActivity würde ich eine Variable für die URL anlegen die geöffnet werden soll. Wenn der Nutzer den Button klickt mache ich in der onClick Methode des Tabs folgendes:
PHP:
DeineTabActivity tabAct = (DeineTabActivity) getParent();
    tabAct.setURL(url);
    tabAct.getTabHost().setCurrentTab(numberOfTab);
Es wird in der Parent-Activity die zu öffnende URL gesetzt und anschließend der Tab gewechselt. In der Activity des Zieltabs wird onResume aufgerufen und darin fragst du die URL aus der Parent-Activity ab und lädst sie im WebView.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: blackfire185
Danke das werde ich morgen mal ausprobieren.

Gesendet von meinem GT-S5660 mit der Android-Hilfe.de App
 
Es hat prima funtkioniert. Falls noch jemand auf diesen Thread stößt, die Lösung:

In der Activity mit dem Button in OnClick:
PHP:
MainActivity tabAct = (MainActivity)getParent();
				    tabAct.setURL(link);
				    tabAct.getTabHost().setCurrentTab(0); // 0 ist die Tabnummer mit der Webview

In der MainActivity (die die TabActivity ist:

PHP:
String url = "";
/...

public void setURL(String link) {
		// TODO Auto-generated method stub
		url = link;
	}

	public String getURL() {
		// TODO Auto-generated method stub
		return url;
	}

In der Activity mit der WebView die onResume Methode:
PHP:
protected void onResume(){
		super.onResume();
		WebView wv1 = (WebView)findViewById(R.id.webView1);
		MainActivity tabAct = (MainActivity)getParent();
	   String url =  tabAct.getURL();  
		wv1.loadUrl(url);
		
		
	}

Danke an meganeura.

Gruß
 

Ähnliche Themen

Soljim
Antworten
5
Aufrufe
302
swa00
swa00
A
Antworten
1
Aufrufe
707
swa00
swa00
H
Antworten
2
Aufrufe
1.014
swa00
swa00
Zurück
Oben Unten