Это вопрос эффективности ... вот почему ваш метод onCreate
не вызывается дважды или более раз.Eaiser способ получить доступ к вашей активности от TabActivity
до OnTabChangedListener
заключается в следующем:
public class YourTabActivity extends TabActivity{
public void onCreate(Bundle InSavedInstanceState) {
super.onCreate(InSavedInstanceState);
final TabHost tabHost = getTabHost();
// blablabla
tabHost.setOnTabChangedListener(new OnTabChangeListener() {
public void onTabChanged(String tabId) {
if( tabId.equals("the_id_of_your_tab") ){
NameOfThatActivity.self.theMethodYouWantToCall();
}
}
});
}
}
Затем, в вашей детской деятельности, вы получите что-то вроде:
public class NameOfThatActivity extends Activity{
public static NameOfThatActivity self;
// blah blah blah
public onCreate(Bundle b){
super.onCreate(b);
self = this;
}
public void theMethodYouWantToCall(){
// do what ever you want here
}
}
Это не красота, но она отлично работает.