Java 初始化应用程序时如何初始化选项卡内容
我有一个有两个标签的应用程序。每个选项卡加载一个xml文件(相当大,可能有400项rss文件) 默认情况下,选项卡在单击之前不会获取xml。我只是想在应用程序第一次打开时加载所有内容 以下是主要观点: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
@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.
...
}
}
};