2012-04-12 11 views
0

Mein Code:Beginnend mit der entsprechenden Klasse TabHost

  • Main.java
  • TabHost.java
  • Tab1.java
  • Tab2.java
  • Tab3.java
  • main. xml
  • menutab.xml

Im main.xml drei Tasten haben, die da sind: btnTab1, btnTab2, btnTab3.

Innerhalb der menutab.xml haben eine TabHost mit id = th und das Layout der einzelnen Register ist id = tab1, tab2 = id, id = tab3.

ich für jede Taste, klicken Sie auf diese Person benötigen main.xml überprüft werden, welche die Taste war, und öffnen Sie seine Tätigkeit in menutab.xml

Kurz gesagt: Wenn der Benutzer auf die Schaltfläche zum Beispiel klickt wird Tab1 zeichnen das Layout menutab.xml und öffnen Sie die entsprechenden Klassenaktivität. Jede Registerkarte ist eine Klasse Aktivität

vielen Dank

Antwort

0

In Ihrem onCreate in Main.java (fügen Sie ein ähnliches Stück Code für jede Taste):

Button btnTab1 = (Button) getActivity().findViewById(R.id.btnTab1); 
    btnTab1.setOnClickListener(tab1handler); 

Nach onCreate in Main.java (wieder, fügen Sie einen ähnlichen Code für jede Taste für jede Taste, um die TabHost.TAB # zu den geeigneten Wechsel):

View.OnClickListener tab1handler = new View.OnClickListener() { 
    public void onClick(View v) { 
     Intent myIntent = new Intent(Main.this, TabHost.class); 
     myIntent.putExtra("StartTab", Tabhost.TAB1); 
     Main.this.startActivity(myIntent); 
    } 
}; 

In Ihrem TabHost.java add:

public final int TAB1 = 0; 
public final int TAB2 = 1; 
public final int TAB3 = 2; 
private int StartTab; 

im onCreate Ihrer TabHost add:

Bundle extras = getIntent().getExtras(); 
StartTab = extras.getInt("StartTab"); 

, nachdem Sie die TabHost eingerichtet haben:

th.setCurrentTab(StartTab); 

hoffe, das hilft!