2010-11-24 5 views
1

Ich habe eine Tab-Ansicht und es funktioniert gut, aber ich möchte neue Absichten in einem Tab öffnen. In dem Moment, in dem ich eine neue Absicht öffne, ersetzt sie den gesamten Bildschirm, Tab eingeschlossen. Welche Änderungen sind erforderlich, um dies auf derselben Registerkarte zu öffnen?Ist es möglich, neue Absichten in der gleichen Registerkarte in Android zu öffnen?

Hier ist der Code für eine neue Absicht Eröffnung:

  Intent i = new Intent(); 
      i = new Intent(); 
      i.setClassName("my.massive.package", 
        "my.massive.package.SecondIntent"); 
      startActivity(i); 

Und hier ist der Code für einen neuen Tab:

TabHost tabHost = getTabHost(); 
    tabHost.addTab(tabHost.newTabSpec("first").setIndicator("First") 
      .setContent(new Intent().setClass(this, FirstIntent.class))); 

Antwort

0

Dies wird nicht durch das Android-System unterstützt. Sie können keine Aktivitäten in einem TabHost austauschen, da der Inhalt eines Tabs nicht änderbar ist.

Eine Problemumgehung wäre, dass Sie den Inhalt Ihres Root-Layouts Ihrer Aktivität, die in einem Tab angezeigt wird, austauschen. Ich habe das einmal gemacht und kann es nicht empfehlen, weil Sie eine wirklich komplexe Aktivität bekommen werden.

Beste Lösung: Redesign Ihrer App, so dass Sie diese Funktionalität und mehr nicht benötigen.

Verwandte Themen