Dziękujemy za sprawdzenie mojego zapytania!Android - funkcja onTabChanged nie była wywoływana po wybraniu innej karty
Zaimplementowałem środowisko zakładek, jak pokazano poniżej. Wydaje się działać tak, jak się spodziewałem, z tym wyjątkiem, że nigdy nie wykonuje on metody onTabChanged. Znalazłem kilka postów dotyczących tego typu sytuacji, ale nie udało mi się sprawić, że mój kod zadziała tak, jak się spodziewałem. Rada?
Dzięki Chip
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");
}
}
Dziękuję Knickedi! Byłem ślepy, ale teraz widzę. –