看来 TabActivity 现在已弃用,我们需要使用 Fragments。
我尝试使用标准 Activity,但无法调用 getTabHost。
所以看来我必须使用片段。但我有点困惑这将如何工作。
我知道片段不是活动,所以它们不在清单文件中?
所以我想我不能在片段上做 startActivity 吗?
有谁知道解释 tabHost 和 Fragments 的好例子,我发现的所有例子和教程都只使用 tabactivity。
提前致谢
看来 TabActivity 现在已弃用,我们需要使用 Fragments。
我尝试使用标准 Activity,但无法调用 getTabHost。
所以看来我必须使用片段。但我有点困惑这将如何工作。
我知道片段不是活动,所以它们不在清单文件中?
所以我想我不能在片段上做 startActivity 吗?
有谁知道解释 tabHost 和 Fragments 的好例子,我发现的所有例子和教程都只使用 tabactivity。
提前致谢
也许您可以改用 TabLayout。
现在最好通过在顶部使用带有自定义“选项卡指示器”的 ViewPager 来实现选项卡。Google 的新 TabLayout 包含在 Android“M”的支持设计库版本中。
访问使用 TabLayoutEdit PagePage History 在 Google Play Style Tabs 中使用 TabLayout 的完整教程
今天 Android 有一个很好的教程。从使用标签创建滑动视图开始
这是如何创建选项卡的小快照
@Override
public void onCreate(Bundle savedInstanceState) {
final ActionBar actionBar = getActionBar();
...
// Specify that tabs should be displayed in the action bar.
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// Create a tab listener that is called when the user changes tabs.
ActionBar.TabListener tabListener = new ActionBar.TabListener() {
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
// show the given tab
}
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
// hide the given tab
}
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
// probably ignore this event
}
};
// Add 3 tabs, specifying the tab's text and TabListener
for (int i = 0; i < 3; i++) {
actionBar.addTab(
actionBar.newTab()
.setText("Tab " + (i + 1))
.setTabListener(tabListener));
}
}
面对现实吧。碎片是未来。我们被引导使用它们。
我发现以下教程内容丰富,希望它们能回答您所有的“带有片段问题的标签”:
首先 - 您可以通过 context.startActivity(....); 从片段中启动活动
其次,要了解使用片段的选项卡,只需在您的 Android Studio 上创建一个示例项目,当它要求您选择现有模板时,然后选择具有选项卡的模板。这样您将看到标准代码。
我认为您使用选定实现的问题。Android SDK 包含很多 View 的变体,如 ActivityList、TabActivity、ActionBarActivity 等。它们都已弃用或将被弃用。你应该问为什么?
所以回答你的问题 - 最好使用自定义和强大的视图元素,然后是主要操作视图(活动)的几个实现。当您查看元素的操作规范时,这个原因更加明显。活动不需要在视图初始化中发生。