Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 初始化应用程序时如何初始化选项卡内容_Java_Android_Android Tabhost - Fatal编程技术网

Java 初始化应用程序时如何初始化选项卡内容

Java 初始化应用程序时如何初始化选项卡内容,java,android,android-tabhost,Java,Android,Android Tabhost,我有一个有两个标签的应用程序。每个选项卡加载一个xml文件(相当大,可能有400项rss文件) 默认情况下,选项卡在单击之前不会获取xml。我只是想在应用程序第一次打开时加载所有内容 以下是主要观点: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Resources

我有一个有两个标签的应用程序。每个选项卡加载一个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)

对于初始化,我使用


在相同的方法中,执行其他选项卡所执行的操作。我的意思是当你点击其他人时他们会做什么。因此,所有选项卡都有相同的内容。不要忘记在
OnTabChanged()
方法中包含相同的选项卡,并再次执行相同的操作,否则再次单击此选项卡时将一无所获

setCurrentTab
方法进行了一次不错的黑客攻击。我用过,现在是金色的。谢谢用户802421
mTabHost.setCurrentTab(1);
mTabHost.setCurrentTab(0);
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.
            ...
        }
    }
};