Tab beim klicken neu laden

S

Stefan Baumgartner

Neues Mitglied
2
Hallo,

Ich hab ein Problem mit meinem TabHost und krieg das einfach nicht gebacken. Und zwar hab ich in meiner App mehrere Tabs aufdenen sich z.B. Buttons befinden. Mit diesen Buttons werden wieder neue Bildschirme aufgerufen. Mit der ActivityGroup hab ich es schon hinbekommen das die Tableiste immer sichtbar bleibt, egal wieviele neue Activitys ich aufrufe. Mein Problem ist jetzt, dass wenn ich z.B. in der 2 Unter Ebene eines Tabs bin (also auf einen button im tab geklickt und neuen bildschirm aufgerufen), mit einen klick auf dem Tab wieder zum ursprungsbildschirm komme. Das ich sozusagen den "zurück" Button nichtmehr brauche. Das würde mein Design nochmal sehr stark verbessern.

Ich hoffe ich hab das jetzt richtig erklärt und mir kann jemand weiterhelfen.

danke

mfg
 
Hallo,

kannst Du mal dein Problem auf ein minimum Code reduzieren und hier Posten!

Gruß Bobert
 
Ich glaub da wird ein code auschnitt nicht helfen. Meiner Meinung nach ist das einfach eine eigenart der TabActivity. Es wird immer nur ein Wechsel des Tabs registriert. Aber wenn man auf den bereits selektierten Tab erneut klickt, passiert nix. Ich würd das gern irgendwie abfangen oder so.

Ich hab mal 2 Screenshots hochgeladen. "Aufzeichnen"(Bild 1) zeigt den Bildschirm, wenn man auf "Transaktion" klickt. Wenn man auf "Handy aufladen" klickt, wird der Bildschirm "Aufzeichnen2"(Bild 2) angezeigt. Wenn ich jetzt auf "Transaktion" in der Leiste drücke, soll wieder der Bildschirm "Aufzeichnen"(Bild 1) angezeigt werden. Aber es passiert einfach garnichts.

Hoffe das Problem wurde jetzt klarer formuliert.

edit:

Hab jetzt in einem anderen Forum die Lösung gefunden. Man muss die OnTabChangeListener, OnTouchListener implementieren und sich bei jedem "Tab Change" die position merken. Hier mal der code.


tabHost.setOnTabChangedListener(this);


@Override


publicvoid onTabChanged(String tabId) {
tabHost.getCurrentTabView().setOnTouchListener(this);
position = tabHost.getCurrentTab();
}
@Override

publicboolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
if(position == 0) {
//Tab1 Klasse aufrufen.
}
elseif(position == 1) {
//Tab2 Klasse aufrufen.
}
elseif(position == 2) {
//Tab3 Klasse aufrufen.
}
}
returnfalse;
}
 

Anhänge

  • Aufzeichnen.PNG
    Aufzeichnen.PNG
    4 KB · Aufrufe: 151
  • Aufzeichnen2.PNG
    Aufzeichnen2.PNG
    2,6 KB · Aufrufe: 184
Zuletzt bearbeitet:

Ähnliche Themen

S
  • Sempervivum
Antworten
2
Aufrufe
606
Sempervivum
S
D
  • Data2006
Antworten
14
Aufrufe
484
jogimuc
J
C
Antworten
8
Aufrufe
1.123
swa00
swa00
Zurück
Oben Unten