java - 如何在应用程序初始化时初始化选项卡内容

标签 java android android-tabhost

我有一个有 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.
            ...
        }
    }
};

关于java - 如何在应用程序初始化时初始化选项卡内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6778250/

相关文章:

java - Tomcat - 无法为 JSP 编译类

java - ':app:dexDebug'. gradle failed 'C:\Program Files\Java\jdk1.7.0_51\bin\java.exe' '以非零退出值 2 完成

android - Tabhost 设置()不工作

android - 任何人都可以在 Android 中提供 TabHost 的示例代码吗?

android - 为什么我的 TabHost 子 Activity 找不到父 TabHost ID?

java - 无法识别的选项 : -vmargs

java - JFormattedTextField 和短时间格式

Java 内部类

Java Paho MQTT 检测重连

android - Android 5.1 上的 setTextColor