2011-09-26 8 views
5

Soruşturmamı kontrol ettiğiniz için teşekkür ederiz!Android - onTabChanged farklı bir sekme seçtikten sonra çağrılmadı

Aşağıda gösterildiği gibi bir sekme ortamı uygulamam var. Beklediğim gibi çalışır, ancak onChanChanged yöntemini hiçbir zaman yürütmez. Bu tür bir durumla ilgili birkaç ileti buldum ancak beklediğim şekilde çalışmak için kodumu alamadım. Tavsiye?

sayesinde Çip

public class TestTabActivity extends TabActivity implements OnTabChangeListener { 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    Resources res = getResources(); // Resource object to get Drawables 
    TabHost tabHost = getTabHost(); // The activity TabHost 
    TabHost.TabSpec spec; // Resusable TabSpec for each tab 
    Intent intent; // Reusable Intent for each tab 

    intent = new Intent().setClass(this, Page1Activity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

    spec = tabHost.newTabSpec("page1").setIndicator("Page 1", 
         res.getDrawable(R.drawable.ic_tab_page1)) 
        .setContent(intent); 
    tabHost.addTab(spec); 

    intent = new Intent().setClass(this, Page2Activity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    spec = tabHost.newTabSpec("page2").setIndicator("Page 2", 
         res.getDrawable(R.drawable.ic_tab_page2)) 
        .setContent(intent); 
    tabHost.addTab(spec); 

    intent = new Intent().setClass(this, Page2Activity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    spec = tabHost.newTabSpec("page3").setIndicator("Page 3", 
         res.getDrawable(R.drawable.ic_tab_page3)) 
        .setContent(intent); 
    tabHost.addTab(spec); 

    tabHost.setCurrentTab(0); 
} 

public void onTabChanged(String tabId) { 
    Log.d("Tab Changed", "Changed a Tab"); 
} 
} 

cevap

13

Sana tabHost.setOnTabChangeListener(this) ile bir sekme değişikliği için sınıfınızı kayıt görmüyorum.

tabHost.setCurrentTab(0)'dan önce bunu yapmanızı öneririm.

o sekmenin ilk sette denilen olmasa bile, el onCreate sonunda onTabChanged("page1") çağırabilir.

Ya da sorununuzu anladım mı?

+1

Teşekkür ederim Knickedi! Ben kördüm, ama şimdi görüyorum. –

İlgili konular