2010-02-11 4 views

Antwort

75

, warum es mir ein Vergnügen, würden Sie lieber Herr helfen:

myTabHost.setOnTabChangedListener(new OnTabChangeListener(){ 
@Override 
public void onTabChanged(String tabId) { 
    if(TAB_1_TAG.equals(tabId)) { 
     //destroy earth 
    } 
    if(TAB_2_TAG.equals(tabId)) { 
     //destroy mars 
    } 
}}); 

Wo TAB_1_TAG ist der Tag der bereitgestellten newTabSpec Methode beim Erstellen der Registerkarte

+7

Danke für die Hilfe, und ich LOL'd so hart auf // Erde zerstören und // zerstören Mars – Naskov

+0

@pgsandstrom vor allem dank einer milion! Es gibt so wenig TabHost-Methoden überhaupt online. Das hat mich wirklich gerettet. Meine einzige Verwirrung ist, warum der Methodenaufruf 'setOnTabChangedListener' ist, aber er wird als' OnTabChangeListener() 'instanziiert. Es gibt kein "d" in der Instantiierung! hmm;) – Azurespot

7

Ich denke, in vielen Fällen macht es Sinn, Ihre TabActivity zum Listener:

public class MyTabActivity extends TabActivity implements OnTabChangeListener { 

    private TabHost tabHost; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     /* Your onCreate code here */ 

     tabHost.setOnTabChangedListener(this); 
    } 

    /* ... */ 

    @Override 
    public void onTabChanged(String tabId) { 
     /* Your code to handle tab changes */ 
    } 
} 
0

können Sie verwenden OnTabSelectedListener, hier ist ein Beispiel.

tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { 
     @Override 
     public void onTabSelected(TabLayout.Tab tab) { 
      switch (tab.getText().toString()) { 
       case "yourTabTitle": 
        //todo your code 
        break; 
      } 
     } 
     @Override 
     public void onTabUnselected(TabLayout.Tab tab) { 
      switch (tab.getText().toString()) { 
       case "yourTabTitle": 
        //todo your code 
        break; 
      } 
     } 
     @Override 
     public void onTabReselected(TabLayout.Tab tab) { 
      switch (tab.getText().toString()) { 
       case "yourTabTitle": 
        //todo your code 
        break; 
      } 
     } 
    }); 
Verwandte Themen