2010-06-25 4 views
6

Ich habe eine TabActivity, die 4 Aktivitäten enthält. Mein Code wird den zweiten Registerkarte als aktuelle Registerkarte:Wie in einem TabActivity Start die Aktivität auf dem ersten Registerkarte zu verhindern?

public class MyTabActivity extends TabActivity { 
    TabHost tabHost = getTabHost(); 
    TabHost.TabSpec spec; // Resusable TabSpec for each tab 
    Intent intent; // Reusable Intent for each tab 

    TextView tabView; 

    // Create an Intent to launch an Activity for the tab (to be reused) 
    intent = new Intent().setClass(this, Activity1.class); 

    spec = tabHost.newTabSpec("Tab 1"); 
    spec.setContent(intent); 
    tabView = (TextView) inflater.inflate(R.layout.ff_tab_indicator, null); 
    tabView.setText("Tab 1"); 
    spec.setIndicator(tabView); 
    tabHost.addTab(spec); 

    intent = new Intent().setClass(this, Activity2.class); 
    spec = tabHost.newTabSpec("Tab 2"); 
    spec.setContent(intent); 
    tabView = (TextView) inflater.inflate(R.layout.ff_tab_indicator, null); 
    tabView.setText("Tab 2"); 
    spec.setIndicator(tabView); 
    tabHost.addTab(spec); 

    intent = new Intent().setClass(this, Activity3.class); 
    spec = tabHost.newTabSpec("Tab 3"); 
    spec.setContent(intent); 
    tabView = (TextView) inflater.inflate(R.layout.ff_tab_indicator, null); 
    tabView.setText("Tab 3"); 
    spec.setIndicator(tabView); 
    tabHost.addTab(spec); 

    intent = new Intent().setClass(this, Activity4.class); 
    spec = tabHost.newTabSpec("Tab 4"); 
    spec.setContent(intent); 
    tabView = (TextView) inflater.inflate(R.layout.ff_tab_indicator, null); 
    tabView.setText("Tab 4"); 
    spec.setIndicator(tabView); 
    tabHost.addTab(spec); 

    tabHost.setCurrentTab(1); 
} 

Das Problem ist, wenn die MyTabActivity beginnt, ist es sowohl Aktivität in dem ersten Registerkarte beginnt und die Aktivität in dem zweiten Registerkarte. Ich möchte nur, dass die Aktivität auf der zweiten Registerkarte gestartet wird, da sie als aktuelle Registerkarte festgelegt ist. Was soll ich machen?

Danke.

+1

@kknight: Neben nicht Aktivitäten wie der Inhalt von Tabs verwenden? – CommonsWare

+0

@kknight: Was versuchst du zu tun? – Macarse

+0

Ich möchte nur Registerkarte einstellen 2 als Standard-Tab. Wenn die Tab-Aktivität beginnt, wird nur die Aktivität in Tab 2 gestartet. Zurzeit startet Android sowohl die Aktivität in Tab 1 als auch die Aktivität in Tab 2, wenn ich Tab 2 als Standard-Tab für den Tabulator aktiviere. – user256239

Antwort

1

Was ist nur die Tabs Nachbestellung so dass der Standard die erste wird?

+0

In der Tat. Das ist eine Lösung. Ich bin mir nicht sicher, dass ich die Reihenfolge des Layouts meiner Benutzeroberfläche bei jedem Start der App ändern möchte. Ein bisschen verwirrend XP IMO. – typeoneerror

3

Versuchen Sie folgendes:

tabHost.setCurrentTab(0); 
Verwandte Themen