2010-02-11 9 views

risposta

75

per cui sarebbe il mio piacere per aiutarti a buon signore:

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 
    } 
}}); 

Dove TAB_1_TAG è il tag fornito alla Metodo newTabSpec durante la creazione della scheda

+7

Grazie per l'aiuto, e io LOL'd così duro con // distruggere la terra e // distruggono mars – Naskov

+0

@pgsandstrom prima di tutto, grazie un milion! c'è così poco sui metodi TabHost online. questo mi ha davvero salvato. la mia unica confusione è perché la chiamata al metodo è 'setOnTabChangedListener', ma crea un'istanza come' OnTabChangeListener() '. non c'è "d" nell'istanza! hmm;) – Azurespot

7

Penso che in molti casi abbia senso rendere l'ascoltatore TabActivity:

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

È possibile utilizzare OnTabSelectedListener, ecco un esempio.

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; 
      } 
     } 
    }); 
Problemi correlati