2011-03-12 61 views
0
TabHost tabHost = getTabHost(); 
    TabHost.TabSpec spec; // Resusable 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, FirstActivity.class); 
    // Initialize a TabSpec for each tab and add it to the TabHost 
    spec = tabHost.newTabSpec("hottest").setIndicator("Hottest", 
         res.getDrawable(R.drawable.ic_tab_hottesttrack)) 
        .setContent(intent); 
    tabHost.addTab(spec); 
    intent = new Intent().setClass(this, SecondTrackActivity.class); 
    spec = tabHost.newTabSpec("latest").setIndicator("Latest", 
         res.getDrawable(R.drawable.ic_tab_latesttrack)) 
        .setContent(intent); 
    tabHost.addTab(spec); 

Okey!我的代码很简单。制作2个选项卡并将它们添加到TabHost中。问题是我的两项活动都使用了大量的记忆并需要时间来处理。一次只能加载一个活动。但是,当我开始我的应用程序,似乎两个活动都加载,这将需要更长的时间。 因此,我希望只有一个活动允许在选择其选项卡时加载,如果我选择第一个选项卡,然后选择第一个活动加载,我选择第二个选项卡,然后第二个活动将加载,而不是同时加载。任何建议?使用TabHost切换选项卡时加载单独的活动

回答

0

当活动开始时,它们的onCreate()onResume()回调被调用。例如,您只能开始计算。用户按下活动内的按钮,以便初始加载很快。 此外,还可以将计算结果放在AsyncTask之内,以便计算不会阻塞UI线程。

+0

如果我希望只有当我切换到它的选项卡时才加载特定活动(无需用户按下按钮),如使用setOnTabChangedListener() – ForeverNights 2011-03-12 20:57:28

相关问题