2010-02-11 29 views

Trả lời

75

lý do tại sao nó sẽ là niềm vui của tôi để giúp bạn thưa ông tốt:

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

đâu TAB_1_TAG là thẻ cung cấp cho newTabSpec phương pháp khi tạo tab.

+7

Thanks for the help, và tôi LOL'd khó khăn như vậy trên // hủy diệt trái đất và // phá hủy mars – Naskov

+0

@pgsandstrom trước hết, nhờ một milion! có rất ít phương pháp trên TabHost trực tuyến. điều này thực sự đã cứu tôi. sự nhầm lẫn duy nhất của tôi là tại sao lời gọi phương thức là 'setOnTabChangedListener', nhưng nó khởi tạo là' OnTabChangeListener() '. không có "d" trong quá trình khởi tạo! hmm;) – Azurespot

7

Tôi nghĩ rằng trong nhiều trường hợp, điều đó có ý nghĩa làm cho người dùng của bạn hoạt động 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

Bạn có thể sử dụng OnTabSelectedListener, đây là ví dụ.

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; 
      } 
     } 
    }); 
Các vấn đề liên quan