如何当应用程序初始化

问题描述:

我有了2个标签的应用程序初始化选项卡的内容。每个标签加载一个xml文件(相当大,也许400个rss文件)。如何当应用程序初始化

默认情况下,该选项卡不会获得xml,直到它被点击。我只是想要一种方式来加载应用程序第一次打开时全部。

这里是主视图:

@Override 
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 

    // Audio Feed 
    intent = new Intent().setClass(this, AudioFeed.class); 
    spec = tabHost.newTabSpec("audio").setIndicator("", 
         res.getDrawable(R.drawable.ic_tab_audio)) 
        .setContent(intent); 
    tabHost.addTab(spec); 


    // Video Feed 
    intent = new Intent().setClass(this, VideoFeed.class); 
    spec = tabHost.newTabSpec("video").setIndicator("", 
         res.getDrawable(R.drawable.ic_tab_video)) 
        .setContent(intent); 
    tabHost.addTab(spec); 

    tabHost.setCurrentTab(0); //todo: remember what tab user was last on 
} 

我使用TabHost.setCurrentTab(x)或TabHost.setCurrentTabByTag(X)。

mTabHost.setCurrentTab(1); 
mTabHost.setCurrentTab(0); 

初始化我使用TabHost.OnTabChangeListener

private OnTabChangeListener mOnTabChangeListener = new OnTabChangeListener() { 
    @Override 
    public void onTabChanged(String tag) { 
     if (FBIntent.EXTRA_XX.equals(tag)) { 
      // Current tab is xx. 
      ... if xx not init -> ... 
     } else if (FBIntent.EXTRA_YY.equals(tag)) { 
      // Current tab is yy. 
      ... 
     } 
    } 
}; 
+0

用'setCurrentTab'方法很好的破解。我用它,现在它的金色。感谢user802421 – Darcy

在这个相同的方法做什么其他标签做。我的意思是当你点击它们时其他人做的。所以你对所有标签都有同样的东西。不要忘记在OnTabChanged()方法中包含此相同的选项卡,并再次执行相同的操作,否则当再次单击此选项卡时,您将无法获得任何内容。