Мое приложение запускается с активностью TabActivity, имеющей четыре вкладки, каждая из которых имеет ассоциированное действие ListView в качестве своего содержимого.В идеале я хотел бы запустить AsyncTask в onCreate, который инициализирует соединение Drupal XMLRPC, и после его завершения я создаю tabHost и добавляю вкладки в onPostExecute.Это прекрасно работает в Android 2.2 и выше, но приведет к немедленному закрытию силы в 2.2 и ниже.Из того, что я прочитал, кажется, что в Android 2.2 ниже, TabActivity требует, чтобы вкладки создавались до того, как что-либо еще будет сделано, включая AsyncTasks?Если у кого-нибудь есть какие-либо предложения о том, как реализовать TabActivity, запускающее AsyncTask, перед началом действия в setCurrentTab, я был бы очень признателен.Я использую onCreate, который инициализирует tabHost для справки:
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
tabHost = getTabHost(); //The activity TabHost
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_bar);
TabHost.TabSpec spec; //Reusable TabSpec for each tab
Intent intent; //Reusable Intent for each tab
// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this, BlogList.class);
// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("Blog Posts").setIndicator("Blog Posts")
.setContent(intent);
tabHost.addTab(spec);
// Do the same for the other tabs
intent = new Intent().setClass(this, DiariesList.class);
spec = tabHost.newTabSpec("Diaries").setIndicator("Diaries")
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, BoardList.class);
spec = tabHost.newTabSpec("MGoBoard").setIndicator("MGoBoard")
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, UserActivityList.class);
spec = tabHost.newTabSpec("My Account").setIndicator("My Account")
.setContent(intent);
tabHost.addTab(spec);
tabHost.getTabWidget().getChildAt(0).getLayoutParams().height = 50;
tabHost.getTabWidget().getChildAt(1).getLayoutParams().height = 50;
tabHost.getTabWidget().getChildAt(2).getLayoutParams().height = 50;
tabHost.getTabWidget().getChildAt(3).getLayoutParams().height = 50;
tabHost.setCurrentTab(0);
}